我想做成activex 在客户端用户想把ie内容大出来的时候,可以自动根据需要改变纸张的使用方法
解决方案 »
- 关于opencv cvResize函数在linux下使用情况
- 对话框 打印
- 字符串截取
- 如何建立子进程
- 怎样声明一个各元素为CString类型的二维动态数组vector?
- 用dshow播放视频,如何可以调整亮度、对比度等参数。快过年了,多给点分。回帖就给分。
- 串口通信,如何设置波特率(据两例9600,4800),crc16校验,8位数据,1位停止,一位起止
- 谁有soft-ice的教程?
- 如何用twain协议删除数码相机内的所有照片
- --翻译了一篇关于使用完成端口开发windows socket服务的文章,很烂,希望兄弟们斧正--
- WinInet类怎么加HTTP请求的头
- 千分奉送~~~有兴趣的进来看看
在打印函数中设置如下,注意你的操作系统下的打印机的默认设置。你可以通过控制面板查看打印机的默认设置来对照着运行你的程序。
void CtestDialog::OnPrint(CDC *pDC, CPrintInfo *pInfo)
{ LPDEVMODE pDevMode;
pDevMode=pInfo->m_pPD->GetDevMode();
pDevMode->dmOrientation=DMORIENT_PORTRAIT;//纵向
//DMORIENT_LANDSCAPE横向
pDevMode->dmPaperSize=DMPAPER_A4; //将打印纸设置为B5
pDC->ResetDC(pDevMode);
}不过不合适我用
我想改的是ie的打印设置,请问ie有没有给接口呢?
有没有人用过?
原来不用activex也能实现
用javascript就能实现 大概就像这样;
printing.pagesetup()
白问了,还要靠自己
散分吧!
pd.lStructSize = sizeof(PRINTDLG);
pd.Flags = PD_RETURNDC;
pd.hDC = NULL;
pd.hwndOwner = NULL;
pd.hInstance = NULL;
pd.nMaxPage = 1;
pd.nMinPage = 1;
pd.nFromPage = 1;
pd.nToPage = 1;
pd.nCopies = 1;
pd.hDevMode = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, sizeof (DEVMODE));
pd.hDevNames = NULL;
DEVMODE* pDevMode = (DEVMODE* )GlobalLock(pd.hDevMode);
pDevMode->dmSize = sizeof (DEVMODE);
pDevMode->dmFields = DM_ORIENTATION;
pDevMode->dmOrientation = 2;
GlobalUnlock(pd.hDevMode); //显示打印对话框,由用户来设定纸张大小等。
if(!PrintDlg(&pd))
{
GlobalFree(pd.hDevMode);
return FALSE;
}
ASSERT(pd.hDC!=NULL); DOCINFO di;
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = "My Printing";
di.lpszOutput = (LPTSTR) NULL;
di.lpszDatatype = (LPTSTR) NULL;
di.fwType = 0;
StartDoc(pd.hDC, &di);
StartPage(pd.hDC);
......
//打印一页内容
EndPage(pd.hDC);
StartPage(pd.hDC);
......
EndPage(pd.hDC);
EndDoc(pd.hDC);
//打印结束
DeleteDC(pd.hDC);
GlobalFree(pd.hDevMode);
这段代码我用过,大家可以参考一下