The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 06.08.2004, 10:59 Titel: [Win32/GDI] Hintergrund eines GDI-Textes transparent machen |
|
|
Frage:
Ich gebe mit der GDI-Funktion TextOut() einen Text aus, aber der Hintergrund des Textes ist immer mit einer Farbe gefüllt.
Was kann ich tun? Ich bin so verzweifelt.
Antwort:
Dafür gibt es eine spezielle Funktion, die den Modus festlegt. Mit SetBkMode() und dem ersten Parameter als der Device Context und dem zweiten als ‚TRANSPARENT’, wird der Texthintergrund transparent gemacht:
Code: | //Device Context mithilfe des Fensterhandles holen
HDC devicecontext=GetDC(hWnd);
//Auf transparent setzen
SetBkMode(devicecontext,TRANSPARENT);
//Text ausgeben
TextOut(devicecontext,0,0,"blablablubb",11);
//Wichtig!! Device Context wieder freigeben
ReleaseDC(hWnd,devicecontext); |
Um den Modus wieder zurückzustellen, wird als zweiter Parameter OPAQUE verwendet:
Code: | SetBkMode(devicecontext,OPAQUE); |
_________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|