词条 | PrinterProperties呼叫 |
释义 | § 说明 所有印表机驱动程式都包含一个称为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) ; } |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。