Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TextOut Font zuweisung (https://www.delphipraxis.net/114698-textout-font-zuweisung.html)

EWeiss 29. Mai 2008 19:02


TextOut Font zuweisung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wie kann ich TextOut vorher einen Font plus die Farbe zuweisen?

Muss dabei sagen es geht um die API

TCanvas oder Canvas.TextOut steht nicht zur verfügung

Habe nur ein Dc zur verfügung

Delphi-Quellcode:
TextOut(VisInfo^.VisDC, 20, 20, 'TEST', 4);
funktioniert aber mit Schwarzer Schrift und weißen Hintergrund
Der Font ist auch nicht das wahre

gruss Emil

DeddyH 29. Mai 2008 19:10

Re: TextOut Font zuweisung
 
Schau doch mal im MSDN.

Luckie 29. Mai 2008 19:44

Re: TextOut Font zuweisung
 
Mit MSDN-Library durchsuchenSelectObject die gewünschte Schrift, die vorher mit MSDN-Library durchsuchenCreateFont erzeugt wurde in den DC selektieren, aber nicht vergessen vorher die alte Schift mrken und alles wieder freigeben.

EWeiss 29. Mai 2008 19:48

Re: TextOut Font zuweisung
 
Zitat:

Zitat von Luckie
Mit MSDN-Library durchsuchenSelectObject die gewünschte Schrift, die vorher mit MSDN-Library durchsuchenCreateFont erzeugt wurde in den DC selektieren, aber nicht vergessen vorher die alte Schift mrken und alles wieder freigeben.

Ahh danke das hilft schon mal weiter bei CreateFont war ich schon
war mir nur nicht klar wie ich den auswählen soll

gruss Emil

EWeiss 29. Mai 2008 20:04

Re: TextOut Font zuweisung
 
Hab es mal so gemacht und scheint zu gehen..
Ist das OK ?
Delphi-Quellcode:
Font, OldFont: HFONT;
Delphi-Quellcode:
      SetBkColor(VisInfo^.VisDC, TRANSPARENT);
      SetTextColor(VisInfo^.VisDC, RGB(255,255,255));
      Font := CreateFont(50, 0, 0, 0, 0, 0, 0, 0,
                 ANSI_CHARSET,
                 OUT_DEFAULT_PRECIS,
                 CLIP_DEFAULT_PRECIS,
                 DEFAULT_QUALITY,
                 DEFAULT_PITCH, 'MS Sans Serif');

      OldFont := SelectObject(VisInfo^.VisDC, Font);
      TextOut(VisInfo^.VisDC, 20, 20, 'TEST', 4);
      SelectObject(VisInfo^.VisDC, OldFont);
      DeleteObject(Font);
Nur der Hintergrund trotz dem Transparenten Flag ist nicht transparent
Kann ich das so in der renderproc belassen oder die initialisierung für den Font lieber auslagern?

gruss Emil

Luckie 29. Mai 2008 20:08

Re: TextOut Font zuweisung
 
Font noch freigeben, wenn du sie nicht mehr brauchst.

Und was den Hintergrund angeht, du hast die falsche API-Funktion mit den richtigen Paramteren aufgerufen. ;) Du musst MSDN-Library durchsuchenSetBkMode mit TRANSPARENT aufrufen und nicht MSDN-Library durchsuchenSetBkColor. Irgendwie lustig.

EWeiss 29. Mai 2008 20:14

Re: TextOut Font zuweisung
 
Zitat:

Zitat von Luckie
Font noch freigeben, wenn du sie nicht mehr brauchst.

Und was den Hintergrund angeht, du hast die falsche API-Funktion mit den richtigen Paramteren aufgerufen. ;) Du musst MSDN-Library durchsuchenSetBkMode mit TRANSPARENT aufrufen und nicht MSDN-Library durchsuchenSetBkColor. Irgendwie lustig.

Jo lustig damit setzt man die Farbe;) Was soll's

Wie freigeben ?
Font := 0 ? free geht ja bei HFont nicht

gruss Emil

Luckie 29. Mai 2008 20:31

Re: TextOut Font zuweisung
 
Hilfe lesen:
Zitat:

Zitat von MSDN
When you no longer need the font, call the DeleteObject function to delete it.


EWeiss 29. Mai 2008 20:40

Re: TextOut Font zuweisung
 
Zitat:

Zitat von Luckie
Hilfe lesen:
Zitat:

Zitat von MSDN
When you no longer need the font, call the DeleteObject function to delete it.


gebe es zurück ;)
Du nicht gelesen ...
Delphi-Quellcode:
DeleteObject(Font);
Oder steht das nicht im meinen Quelltext ;)
hab mich schon gewunder was ich sonst noch freigeben soll
oder meinst du den Alten Font ?
Delphi-Quellcode:
DeleteObject(OldFont);
das würde noch fehlen

gruss Emil

Luckie 29. Mai 2008 20:47

Re: TextOut Font zuweisung
 
Oh, sorry, habe ich überlesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:21 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz