end;
end;
Маълумотларни рангли принтерда чоп этиш
Аксарият холларда оқ-қора принтерларда ишлаймиз. Рангли маълумотларни оқ-қора принтерга чоп этганимизда Windows автоматик равишда рангли маълумотларни оқ-қорага алмаштиради. Агар принтерингиз рангли бўлса, у ҳолда сизда маълумотларни рангли чоп этиш имконяти бор. Қуйидаги дастур кодида принтернинг DevMode драйверига мурожаат қилиш орқали рангли маълумот чоп этиш кўрсатилган.
uses Printers;
procedure TForm1.Button1Click(Sender: TObject);
var
Device: array [0..255] of char;
Driver: array [0..255] of char;
Port: array [0..255] of char;
hDMode: THandle;
PDMode: PDEVMODE;
begin
with Printer do
begin
PrinterIndex := PrinterIndex;
GetPrinter(Device, Driver, Port, hDMode);
if hDMode <> 0 then
begin
pDMode := GlobalLock(hDMode);
if pDMode <> nil then
begin
pDMode.dmFields := pDMode.dmFields or dm_Color;
pDMode.dmColor := DMCOLOR_COLOR;
GlobalUnlock(hDMode);
end;
end;
PrinterIndex := PrinterIndex;
BeginDoc;
Canvas.Font.Color := clRed;
Canvas.TextOut(100,100, 'Delphi World is COOL :)');
EndDoc;
end;
end;
WebBrowser даги маълумотларни принтерга чоп этиш
Биринчи усул
var
vaIn, vaOut: OleVariant;
...
WebBrowser.ControlInterface.ExecWB(OLECMDID_PRINT,
OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
Иккинчи усул
procedure TForm1.PrintIE;
var
CmdTarget : IOleCommandTarget;
vaIn, vaOut: OleVariant;
begin
if WebBrowser1.Document <> nil then
Do'stlaringiz bilan baham: |