我在一程序中需要列出连在我打印机上的所有打印机,并能根据需要选择其中的某一台(因在模拟阶段,所以我用了虚拟打印机--finefactory),这已实现,但是我需要自定义纸张的大小,现在问题是如果默认虚拟打印机的分辨率是300dpi,并在这个分辨率下正常打印,但我更换了另一台打印机,再选择finefactory这个虚拟打印机的话,分辨率就变为600dpi了,结果自然就不对了。然则我若重新运行程序就又恢复到300dpi了,很奇怪,打印机的分辨率会自动更改吗,该怎样让分辨率一直保持在300dpi?(我在Delphi6中用的getDeviceCaps()函数)急盼求解,分不够再加,谢谢!
解决方案 »
- TVideoCap 2.3 摄像头控件使用的问题
- 有没有人知道Delphi8那有下载?万分感谢!!!
- ExpressQuantumGrid 3。22 下载?急用!!(noil0125(珏心) 请再帮帮忙!谢谢了!)
- TQuickRep控件如何让每显示一条记录就有表头?
- 如何用程序控制,令打印纸退纸几厘米?
- 关于数组的问题,有如下错误!咋么办?
- 一个简单的日期型函数的查询问题。
- !!!!!急急!!!硬盘分区!!!急急!!!!!
- 关于Memo的东西来考考大家(不要小看这个问题哦,说不定你也用得上),有兴趣的来看看(962veiri)
- delphi中的word开发
- 关于idftpserver服务器端源代码!!!
- 有关dbgird的问题
procedure TForm1.ComboBox3Change(Sender: TObject);
var
Device: array[0..255] of Char;
Driver: array[0..255] of char;
Port: array[0..255] of char;
s : array[0..255] of Char;
hDeviceMode: THandle;
begin
Printer.PrinterIndex := ComboBox3.ItemIndex;
Printer.GetPrinter (Device, Driver, Port, hDeviceMode);
StrCopy (s, Device);
StrCat (s, ',');
StrCat (s, Driver);
StrCat (s, ',');
StrCat (s, Port);
WriteProfileString ('windows', 'device', s);
StrCopy (s, 'windows');
SendMessage (HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@s));
form1.Refresh ;end;