热情软件屋

 

如何实现类似“记事本”的“页面设置”


编号:QA000820
建立日期: 1999年4月17日 最后修改日期:1999年8月11日
所属类别:

SZG:
    Visual Basic 5.0
    Windows 98
    你注意过Windows 98中的“记事本”的“页面设置”吗?请问如何在VB中实现(要求形似,神似)?

回答:

    记事本实际是调用了Win32 API的PageSetupDlg函数。这个函数的定义在win32api.txt中可以找到。
    例子:
    先加入一个模块,输入以下代码:
    Type POINTAPI
     x As Long
     y As Long
    End Type
    
    Type RECT
     Left As Long
     Top As Long
     Right As Long
     Bottom As Long
    End Type
    
    Type PageSetupDlg
     lStructSize As Long
     hwndOwner As Long
     hDevMode As Long
     hDevNames As Long
     flags As Long
     ptPaperSize As POINTAPI
     rtMinMargin As RECT
     rtMargin As RECT
     hInstance As Long
     lCustData As Long
     lpfnPageSetupHook As Long
     lpfnPagePaintHook As Long
     lpPageSetupTemplateName As String
     hPageSetupTemplate As Long
    End Type
    Public psdlg As PageSetupDlg
    Declare Function PageSetupDlg Lib "comdlg32.dll" Alias "PageSetupDlgA" (pPagesetupdlg As PageSetupDlg) As Long
    然后输入:
    Private Sub Command1_Click()
    
     psdlg.lStructSize = Len(psdlg)
     psdlg.hwndOwner = hWnd
     PageSetupDlg psdlg
    End Sub
    
    相关问题:
    QA002732 "如何在Delphi5中调用PageSetupDlg函数"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio