怎样用程序修改系统里默认打印机的打印方向和纸张大小,修改后,右键点击该打印机并点击“属性”,可以看到确实改变了,这样才算。
解决方案 »
- 大侠请进:谁能控制MT4的图表显示
- 在delphi中怎么处理从数据库中提取的两个字段:结束时间,开始时间(都是日期型),两者相减得出xx天xx小时xx分钟
- 使用batchmove,报数据表mytable_name的定义未找到!急,郁闷好久了
- 关于EXCEL和SQLSEVER2000互相导入导出的问题
- 如何控制Eidt的Text
- 我是放在远程数据模块中的,但调用的时候说不存在该存储过程!或提供参数不存在等
- 如何制作自动更新程序?
- 类似于qq的用户管理界面怎么做?
- 如何改变标题栏的颜色
- 困惑!
- 数据库用SQL server 2000,如何取得刚插入的记录的IDENTITY值?
- 在线等待..100分.
procedure PreparePrinter;
var
aDevice: array[0..CCHDEVICENAME-1] of Char;
aDriver: array[0..MAX_PATH-1] of Char;
aPort: array[0..31] of Char;
hDevMode: THandle;
pDevMode: PDeviceMode;
begin
// 获取打印机DeviceMode的句柄
Printer.GetPrinter(aDevice, aDriver, aPort, hDevMode);
if hDevMode <> 0 then
begin
// 获取指向DeviceMode的指针
pDevMode := GlobalLock(hDevMode);
if pDevMode <> nil then
begin
pDevMode^.dmPaperSize := DMPAPER_USER;
pDevMode^.dmPaperLength := 1140;
pDevMode^.dmPaperWidth := 1900;
pDevMode^.dmFields := pDevMode^.dmFields or DM_PAPERSIZE;
pDevMode^.dmFields := pDevMode^.dmFields or DM_PAPERLENGTH;
pDevMode^.dmFields := pDevMode^.dmFields or DM_PAPERWIDTH;
ResetDC(Printer.Handle, pDevMode^);
GlobalUnlock(hDevMode);
end;
end;
end;
用修改
DeviceMode的方法的话,只是改变你程序中的打印机设置,不会影响其他程序打印的。
http://www.csdn.net/cnshare/soft/15/15471.shtm
要不要钱那?
没有解决啊!