社区
VB基础类
帖子详情
请教DrawText函数的用法。
ERPBug
2002-10-10 09:09:06
我准备用VB写一个打印预览程序,现在碰到一个棘手的问题想向大家请教:
我需要在指定的区域(Rect)中输出或打印一段文字,文字需要自动折行或自动截断。我已经使用DrawText函数在PictureBox中实现,但DrawText好象对Printer对象无效,请问大家有什么好的解决办法。
...全文
229
12
打赏
收藏
请教DrawText函数的用法。
我准备用VB写一个打印预览程序,现在碰到一个棘手的问题想向大家请教: 我需要在指定的区域(Rect)中输出或打印一段文字,文字需要自动折行或自动截断。我已经使用DrawText函数在PictureBox中实现,但DrawText好象对Printer对象无效,请问大家有什么好的解决办法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ERPBug
2002-11-07
打赏
举报
回复
crystal_heart(笑看风云) :
应该是激活打印机,如果在打印中只使用DrawText函数(没有用到Line或Print命令),则在PictureBox中可打印出文字来,但Printer没有反应。
我加入了以下语句后,Printer立即被激活.
m_ObjDC.Line (0, 0)-Step(0, 0), vbWhite '通过Line语句激活Printer
至于画线使用了 B 参数,盖过了你原先写上的字,则是另外一回事了。
crystal_heart
2002-11-07
打赏
举报
回复
不是激活打印机,而是你画线使用了 B 参数,盖过了你原先写上的字。
ERPBug
2002-11-01
打赏
举报
回复
crystal_heart(笑看风云) :
由于你解释的太简单,我当时不太明白,我最后自己找到了原因,但我还是要感谢你。你说的是对的,再使用DrawText函数对Printer进行操作前,要先执行一个画线操作,来激活打印机。
明天就给分。
crystal_heart
2002-10-12
打赏
举报
回复
在printer上操作,要先画线,在打文字,否则的话,文字就有可能出不来。
ERPBug
2002-10-12
打赏
举报
回复
zyl910(910:分儿,我来了!
请问你所说的打印PictureBox,是不是用PaintPicture来打印图片?
请继续指教。
ERPBug
2002-10-11
打赏
举报
回复
请大家提点建议啊 !
ERPBug
2002-10-11
打赏
举报
回复
To zyl910(910:分儿,我来了!)
如果直接用PictureBox进行打印,
打印速度是否和Printer一样,打印质量是否和Printer一样。
请多指教。(我的电脑旁没有打印机,不能测试这两种打印效果)
zyl910
2002-10-11
打赏
举报
回复
速度肯定快些(内存比外部设备快)
质量可能还高些
zyl910
2002-10-11
打赏
举报
回复
就是在PictureBox上画好
再打印PictureBox
ERPBug
2002-10-10
打赏
举报
回复
To liangwh(勤奋的懒人)
你的办法是可行的,但速度太慢。我希望能有速度更快的方法。
zyl910(910:分儿,我来了!)
我在PictureBox中已经实现了用DrawText进行折行或截断,但却不能用Printer实现折行或截断(即DrawText函数好象对Printer对象无效)。
我想实现如下功能:
Private Sub PrintCellText(ObjDC as Object,ByVal sCellText as string)
Dim nHDC as long
Dim nDrawAlign as integer ‘打印对齐方式
......
Set nHDC = ObjDC.hdc
......
DrawText nHDC, sCellText, -1, rectText, _
nDrawAlign + DT_WORDBREAK + DT_VCENTER
end Sub
当进行打印预览时,ObjDC 是PictureBox 对象
当进行实际打印时,ObjDC 是Printer 对象
请各位高手多多指点
zyl910
2002-10-10
打赏
举报
回复
先在Picture中处理好,再打印
liangwh
2002-10-10
打赏
举报
回复
用TextWidth(),TextHeight()函数去判断,然后用程序去实现折行或截断
avedev matlab,avedev(avedev是什么
函数
)
AVEDEV(number1,number2,.) 参数:Number1、number2、.是用来计算绝对偏差...
用法
:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,.excel 统计
函数
你好!AV...
怎么拦截系统
函数
) 在Dos下,我们可以拦截中断,用自己的处理替换系统中断,然后调用原来的中断,在Windows中,没有了中断,只有
函数
,那么我们如何来拦截系统的
函数
,然后我们的
函数
又调用原来的系统
函数
呢?比如说系统有一个...
通达信扣抵公式
设置抵扣公式方法: 1.打开通达信“功能”--->“公式系统”--->"公式管理器",即打开如下窗口: 2.选择“技术指标公式”--->“其他类型”,点击“新建”: 在以下窗口“公式名称”处输入“扣抵”,编辑参数和公式...
绘图;BeginPaint;PAINTSTRUCT(&ps);SetArcDirection
函数
改变弧线的方向;LineDDA
函数
绘制文本可以使用
Draw
Text
函数
,他的最后一个参数是文本的对齐格式,如左对齐、居中、右对齐等。 [cpp] view plain copy print ? PAINTSTRUCT ps; switch (msg)...
VC小知识
对于对话框和基于对话的应用程序,可以使用ClassWizard处理该信息并调用基类
函数
, 如果
函数
返回HTCLIENT 则表明鼠标在客房区域,返回HTCAPTION表明鼠标在Windows的标题栏中。 UINT CSampleDialog : : OnNcHitTest ...
VB基础类
7,762
社区成员
197,608
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章