请教高手打印问题?

_铭子_ 2002-03-31 12:33:22
小弟想做一个打印程序,
要求在每页的特定位置,打印一数码,每打一页,该数值就加1,我该怎么做呢
谢谢各位大侠的参与。
...全文
43 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
_铭子_ 2002-04-03
  • 打赏
  • 举报
回复
想要分的赶快来拿,
300分,赶快来拿!!!!!
daoke80 2002-04-02
  • 打赏
  • 举报
回复
我看了侯杰的《深入浅出MFC》的关于打印的阐述,对打印的步骤有了一定的理解。
发现在打印相同的多页程序,靠的是一个FOR循环,
如果我们要在每次打印的页面上,打印那个每打印一页就增加的数字(当然了这数字不是“页码”).这个数字是我们自己定义的。该在下列哪些函数中加代码呢?
void CPrintView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo);
void CPrintView::OnPreparePrinting(CPrintInfo* pInfo);
void CPrintView::OnPrint(CDC* pDC, CPrintInfo* pInfo);
void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
还有StartPage和EndPage等等
请各位大侠参与讨论,如果哪位能用通俗的语言将自己的体会写出来。
小弟愿出300分!!!
小弟愿出300分!!!
小弟愿出300分!!!







_铭子_ 2002-04-01
  • 打赏
  • 举报
回复
如果文档的内容一页就能容纳,当第一页打印完毕后,在打第2页的前面调用函数吗
我不是大明 2002-04-01
  • 打赏
  • 举报
回复
打印一数码,每打一页,该数值就加1:这个可以从CPrintInfo的成员变量m_nCurPage中得到;程序每打一页的开始是执行OnPrepareDC();在这里面输出你想打印的东东就可以了,注意要用
SetWindowOrg(- pInfo->m_nCurPage*nXPix , - pInfo->m_nCurPage*nYPix);这样就只要几条语句就可以 在每页打页码了
fwx945 2002-04-01
  • 打赏
  • 举报
回复
LPDEVMODE pdev=NULL;
pdev=(LPDEVMODE)::GlobalLock(pInfo->m_pPD->m_pd.hDevMode);
::GlobalUnlock(pDdlg.hDevMode);

DEVMODE 中包含你需要的数据//看msdn帮助,很详细
colarcui 2002-03-31
  • 打赏
  • 举报
回复
怎么得到用户所选纸张的大小呢?
fwx945 2002-03-31
  • 打赏
  • 举报
回复
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);

重载OnPrint

void CMyView::OnPrint( CDC *pDC, CPrintInfo *pInfo )
{
// Print headers and/or footers, if desired.
// Find portion of document corresponding to pInfo->m_nCurPage.
OnDraw( pDC );//绘制客户区的内容。如:(500,500)处有字符“M"
}


_铭子_ 2002-03-31
  • 打赏
  • 举报
回复
请问,如果在客户区的(500,500)处有字符“M",我们能不能得到字符”M“的坐标值(500,500)呢?
请指教!!
panghan 2002-03-31
  • 打赏
  • 举报
回复
pDC->TextOut(0, 500, "我要在左上角打印");
_铭子_ 2002-03-31
  • 打赏
  • 举报
回复
请问特定位置,怎么设置,
_铭子_ 2002-03-31
  • 打赏
  • 举报
回复
小弟,还从来没编过打印程序,不过是看了几个例子
希望大侠说的详细点,分不够可以再加!!!!
谢谢各位参与!
yongdu 2002-03-31
  • 打赏
  • 举报
回复
在你的StartPage和EndPage间加个计数器不就行了吗
七号信令分析软件 2.0 一.实现功能及解决问题 1.增加对ISUP消息的分析统计功能; 2.解决DISMSU执行出现非法操作的错误,主要是对ISUP的INF消息和TUP的GSM消息处理有误; 3.解决打开扩展名为大写的“TXT”当作二进制文件分析的错误; 4.更新用户手册,主要增加ISUP消息中的失败原因值的列表 5.解决七号信令分析软件判断跟踪消息的信令点编码为24位还是14位的问题,估计跟踪消息中的一个标志位判断。不需要用户配置。 6.增加打印功能; 7.统计结果的排序问题,可以按数字排序; 8.解决通过滚动条无法看到最后一条记录的问题; 9.主被叫号码长度超过29位导致“内部不正确”提示的问题。 10.可以对旧格式的信令文件进行处理后,用此软件进行分析。 具体使用方法见“UserMannua20.lwp”或从程序组中打开“用户手册”。 二.目前已经存在的问题,但难以解决的有: 1.相关信令的查询 当点击某个呼叫时,在出现相关的信令消息之前会有短时间的白屏现象。这是因为程序调用了一个DISMSU.EXE文件产生包含信令消息的文件。但是因为执行之间的同步问题,如果调用DISMSU.EXE结束后立刻打开信令消息文件显示,往往打开的是上一次的结果。所以在显示之前SLEEP 2秒钟。请教过UI的高手,通过在某一个文件中设置标志位来充当信号量,但在实现中发现仍然是老问题。 2.统计速度 对信令消息的统计速度比较慢,可能要忍受一下。我测试用的文件比较小,执行起来还比较快。主要原因可能在于以前的版本只支持TUP消息统计,消息参数都比较少,所以数组开了100个字节的空间。考虑到ISUP消息最长为272个,但转换为文本的字符表示,还要加空格,基本上是3倍的关系。所以目前的消息长度定位600。这样内存和写文件操作时间都会比较长。 3.不能统计自环消息 目前七号信令分析软件不支持对自环消息的统计,或者说自环统计中认为是成功的呼叫,在用此软件分析后会认为没有后向的应答消息而设置状态为不成功。 三.安装路径 setup目录下存放的是七号信令分析软件 2.0版本的安装盘。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧