实现类似IE的打印网页功能

2014-11-23 20:00:32 · 作者: · 浏览: 20

当我们点击工具条上的“打印”按钮实现IE的打印函数功能时,发现没有“打印

机安 装”对话框显示出来,程序会自动开始打印文档。这个特点也被用于Microsoft

Word中。 在应用程序中实现这个特点,编码如下:

void CMyBrowser::OnPrint()

{

LPOLECOMMANDTARGET pCmdTarg = NULL;

m_pDisp = m_WebBrowser2.GetDocument(); //get the IDispatch interface pointer

ASSERT(m_pDisp);

m_pDisp->QueryInterface(IID_IOleCommandTarget, (LPVOID*)&pCmdTarg); //query for olecommandtarget interface

ASSERT(pCmdTarg);

pCmdTarg->Exec(NULL, //call the olecommandtargets Exec method

OLECMDID_PRINT,

0,

NULL,

NULL

);

if (pCmdTarg)

pCmdTarg->Release(); // release documents command target

if (m_pDisp)

m_pDisp->Release(); // release documents dispatch interfac

}