Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1041 Wohnort: Niederbayern
|
Verfasst am: 15.11.2020, 22:56 Titel: Druckfarbe (WinAPI) einstellen? |
|
|
Ich habe ein Programm, dass einen Text mit Linien über WinAPI ausdruckt.
Code: |
' Außenrahmen zeichnen (Quadrat)
MoveToEx(Printer.hdc, 300, 500, Null)
LineTo(Printer.hdc, 4338, 500)
LineTo(Printer.hdc, 4338, 5885)
LineTo(Printer.hdc, 300, 5885)
LineTo(Printer.hdc, 300, 500)
TextOut(Printer.hDC, 3720, 350, STRPTR("Test"), LEN("Test")) |
Leider sind die Linien und der Text schwarz. Wie kann ich die Farbe der Linien bzw. die Farbe des Textes umstellen?
Code: | SetDCBrushColor(Printer.hdc, &hFF00AA) |
Obiger Code, ändert die Farbe leider nicht! Es wird trotzdem in Schwarz ausgedruckt. _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1213 Wohnort: Ruhrpott
|
Verfasst am: 17.11.2020, 01:13 Titel: |
|
|
Was passiert denn, wenn du Text und Linien auf dem Bildschirm ausdruckst ? Code: | hdc = GetWindowDC(hWnd) |
Gruß
grindstone
EDIT:
Ohne Garantie: Probier mal Code: | SetTextColor(Printer.hdc, &hFF00AA) | bzw. Code: | SetBkColor(Printer.hdc, &hFF00AA) |
_________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Zuletzt bearbeitet von grindstone am 17.11.2020, 11:15, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
|
UEZ
Anmeldungsdatum: 24.06.2016 Beiträge: 129 Wohnort: Opel Stadt
|
Verfasst am: 17.11.2020, 09:09 Titel: |
|
|
Warum benutzt du für Linien ein Brush Objekt? Solltest du nicht eher ein Pen Objekt dafür benutzen?
CreatePen
SelectObject
MoveToEx
LineTo
... _________________ Gruß,
UEZ |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1213 Wohnort: Ruhrpott
|
Verfasst am: 17.11.2020, 11:58 Titel: |
|
|
UEZ hat Folgendes geschrieben: | Solltest du nicht eher ein Pen Objekt dafür benutzen? |
Richtig. Pen ist für die Linien zuständig und Brush für die Füllung (z.B. von Rectangle)
Und zumindest beim Zeichnen auf dem Bildschirm lässt sich die Linienfarbe mit Code: | SelectObject(hdc, GetStockObject(DC_PEN))
SetDCPenColor(hdc, &hFF00AA) | einstellen.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1041 Wohnort: Niederbayern
|
Verfasst am: 17.11.2020, 20:41 Titel: |
|
|
Zitat: | Warum benutzt du für Linien ein Brush Objekt? |
Ah, dann habe ich das falsch verstanden! Werde das dann gleich mal ändern und ausprobieren. Vielen herzlichen Dank für die Infos! Das hilft mir weiter...
Edit:
Funktioniert super jetzt! Alles so wie ich es haben will. _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
|
|