Solved

Printing from IExplorer 4.0

Posted on 1998-03-13
8
192 Views
Last Modified: 2013-12-25
I would like to print a frame from IE 4.0 when user clicks the print button. How would I do this? Using a ActiveX component. If so - which one? If possible I'd like to do it without any programming. I've some code, but I don't know how to use it from IE.
void CAboutDlg::OnPrint()
        {
            CWnd* pWnd = GetFocus ();

            m_ctlWebBrowser.SetFocus ();
            // send Ctrl-P
            keybd_event (VK_CONTROL, 0, 0, 0);
            keybd_event ('P', 0, 0, 0);

            // set focus to control that previously had focus
            if (pWnd);
                pWnd->SetFocus ();
        }

Telling me how to use this code  would answer my question as well.
0
Comment
Question by:markoj
8 Comments
 
LVL 3

Expert Comment

by:slok
ID: 1858018
Actually I have another solution.

Have a 'printer safe' version of your web page like what
News.com (http://www.news.com) has.
Read one of their articles and you will see on the top right
they have a printer friendly link.
0
 

Author Comment

by:markoj
ID: 1858019
As I can see, the printer friendly version of news.com is just the version of the same text, designed it better looks when printed. But you still have to do printing via menus. I want to enable printing from my page itself. I want to have a big colorful button on it with "Print" written all over it. When the user will click it, I want the page to be printed without any questions.
0
 
LVL 5

Expert Comment

by:Christian_Wenz
ID: 1858020
with Netscape 4.x, you can use windowreference.print()
Maybe this works for IE4, as well
0
 
LVL 3

Expert Comment

by:hkp
ID: 1858021
The given code is part of a C++ Class, and it does the following three steps:

1. Remember where the windows caret is active before hitting Ctrl-P.
2. Send a CTRL-P keyboard event, which should be handled else where.
3. Reset the Windows Caret to it's previously active control

In many Windows applications, the Ctrl-P is a shortcut for Print, so hitting Ctrl-P is the best answer to your question.

Christian Wenz is right about the Netscape 4.0, but this is vendor dependent. There's no standard for doing the trick you want.
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:markoj
ID: 1858022
I sure understand what the code above does. With the print button I mean a GIF on the page.
At this point I simply use the ActiveX IE component to perform the task.
0
 
LVL 3

Accepted Solution

by:
percyn earned 200 total points
ID: 1858023
There really isin't a great way to print from the web. The closest thing I have seen so far is using Crystal Report's control to print a "report", which is basically a well structured page, with line breaks, page breaks, headers, footers, etc.
0
 

Expert Comment

by:clay111296
ID: 1858024
This will work from IE 4.0  (I've tested it)
Basically, it uses VBscript to access the IE 4 object  and send it a command to print.

IE 3.0 is a bit different.  Do you by any chance know how to do it in IE 3.0?  

<html>
<script LANGUAGE="VBScript">
sub Print
 const OLECMDID_PRINT = 6
 const OLECMDEXECOPT_DONTPROMPTUSER = 2
 const OLECMDEXECOPT_PROMPTUSER = 1
 Webbrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER
end sub
</script>

<object ID="WebBrowser1" WIDTH="0" HEIGHT="0"
CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</object>

<head>
<title></title>
</head>

<body>

<p><script LANGUAGE="VBScript">
<!--
Sub PrintMe_Click()
call Print()
end sub
-->
    </script> </p>

<form ACTION="--WEBBOT-SELF--" METHOD="POST">
  <!--webbot bot="SaveResults" startspan U-File="_private/form_results.txt"
  S-Format="TEXT/CSV" S-Label-Fields="TRUE" --><!--webbot bot="SaveResults" endspan --><p><input
  LANGUAGE="VBScript" TYPE="button" VALUE="PrintMe" ONCLICK="call Print()" NAME="btnPrint"> </p>
</form>
</body>
</html>
0
 

Author Comment

by:markoj
ID: 1858025
That's the solution I've already used.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
Why do we like using grid based layouts in website design? Let's look at the live examples of websites and compare them to grid based WordPress themes.
Viewers will get an overview of the benefits and risks of using Bitcoin to accept payments. What Bitcoin is: Legality: Risks: Benefits: Which businesses are best suited?: Other things you should know: How to get started:
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now