- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Kontrollera om aktuell skrivare kan skriva ut i färg Kategori: Skrivare
Inlagt: 2003-01-06
Läst: 1356
Inlagt av: Staffan Berg
Beskrivning
Detta fiffiga exempel kontrollerar om den aktuella skrivaren kan skriva ut i färg. 
Kod
uses
 Printers, WinSpool;

procedure TForm1.Button1Click(Sender: TObject);
var
 Dev, Drv, Prt: array[0..255] of Char;
 DM1: PDeviceMode;
 DM2: PDeviceMode;
 Sz: Integer;
 DevM: THandle;
begin
 Printer.PrinterIndex := -1;
 Printer.GetPrinter(Dev, Drv, Prt, DevM);
 DM1 := nil;
 DM2 := nil;
 Sz := DocumentProperties(0, 0, Dev, DM1^, DM2^, 0);
 GetMem(DM1, Sz);
 DocumentProperties(0, 0, Dev, DM1^, DM2^, DM_OUT_BUFFER);
if DM1^.dmColor > 1 then
  label1.Caption := Dev + ': Color'
 else
  label1.Caption := Dev + ': Black and White';
if DM1^.dmFields and DM_Color <> 0 then
  Label2.Caption := 'Printer supports color printing'
 else
  Label2.Caption := 'Printer does not support color printing';
 FreeMem(DM1);
end;

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -