如何实现类似“记事本”的“页面设置”
编号: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函数"
此问题由李海回答。
| |
|
|
| |
|
|