请输入您要查询的百科知识:

 

词条 PrinterProperties呼叫
释义

简介

DEVCAPS2的「Device」功能表中上还有一个称为「Properties」的选项。要使用这个选项,首先得从 Device 功能表中选择一个印表机,然後再选择 Properties ,这时弹出一个对话方块。对话方块从何而来呢?它由印表机驱动程式呼叫,而且至少还让使用者选择纸的尺寸。大多数印表机驱动也可以让使用者在「直印(portrait)」或「横印(landscape)」模式中进行选择。在直印模式(一般为内定模式)下,纸的短边是顶部。在横印模式下,纸的长边是顶部。如果改变该模式,则所作的改变将在DEVCAPS2程式从GetDeviceCaps函式取得的资讯中反应出来:水平尺寸和解析度将与垂直尺寸和解析度交换。彩色绘图机的「Properties」对话方块内容十分广泛,它们要求使用者输入安装在绘图机上之画笔的颜色和使用之绘图纸(或透明胶片)的型号。

用途

所有印表机驱动程式都包含一个称为ExtDeviceMode的输出函式,它呼叫对话方块并储存使用者输入的资讯。有些印表机驱动程式也将这些资讯储存在系统登录的自己拥有的部分中,有些则不然。那些储存资讯的印表机驱动程式在下次执行Windows时将存取该资讯。

允许使用者选择印表机的Windows程式通常只呼叫PrintDlg(本章後面我会展示用法)。这个有用的函式在准备列印时负责和使用者之间所有的通讯工作,并负责处理使用者要求的所有改变。当使用者单击「Properties」按钮时,PrintDlg还会启动属性表格对话方块。

程式还可以通过直接呼叫印表机驱动程式的ExtDeviceMode或ExtDeveModePropSheet函式,来显示印表机的属性对话方块,然而,我不鼓励您这样做。像DEVCAPS2那样,透过呼叫PrinterProperties来启动对话方块会好得多。

PrinterProperties要求印表机物件的代号,您可以通过OpenPrinter函式来得到。当使用者取消属性表格对话方块时,PrinterProperties传回,然後使用者通过呼叫ClosePrinter,释放印表机代号。DEVCAPS2就是这样做到这一点的。

方法

程式首先取得刚刚在Device功能表中选择的印表机名称,并将其存入一个名为szDevice的字元阵列中。

GetMenuString ( hMenu, nCurrentDevice, szDevice,

sizeof (szDevice) / sizeof (TCHAR), MF_BYCOMMAND) ;

然後,使用OpenPrinter获得该设备的代号。如果呼叫成功,那么程式接著呼叫PrinterProperties启动对话方块,然後呼叫ClosePrinter释放设备代号:

if (OpenPrinter (szDevice, &hPrint, NULL))

{

PrinterProperties (hwnd, hPrint) ;

ClosePrinter (hPrint) ;

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/26 5:07:59