Как печатать в цвете? в Delphi

Обычно нет необходимости переводить принтер в режим цветной печати, если он установлен в этот режим. 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, 'Red As A Rose!'); 
    EndDoc; 
  end; 
end; 
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (28 оценок, среднее: 4,96 из 5)
Загрузка...
Добавить комментарий