VB。NET中GetDeviceCaps()API函数如果调用

ststi 2002-10-21 11:36:13
为取得打印机的缺省边距,必须调用GetDeviceCaps(),但VB7取消了PRINTER对象,没法象VB6那样直接调用Printer.hdc,如果取得GetDeviceCaps()的HDC参数,各位高手帮帮忙,我已经做了一个星期了!!!
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ststi 2002-10-24
  • 打赏
  • 举报
回复
我当然看过,但大哥,用PrintDocument.DefaultPageSettings.Margins 计算边距,实际上打印得到的效果是Margins+打印机的缺省边距,不信你打一页用尺子量一量,不过你提供的方法是可以在设定边距大于打印机缺省边距,不给用户预先提示的情况下设定边距,如果用户设定边距过小时要给出提示,就无法达到目的。
saucer 2002-10-23
  • 打赏
  • 举报
回复
have you looked into
PrintDocument.DefaultPageSettings.Margins
?

Declare Function GetDeviceCaps Lib "gdi32.dll" (ByVal hDc As IntPtr,
ByVal funct As Integer) As Integer


in OnPrintPage, its parameter PrintPageEventArgs has a Graphics property which has a GetHdc method which will give you the handle:

e.Graphics.GetHdc()

also see
Printing Reports in Windows Forms
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/printwinforms.asp


16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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