Textfont und Styles ?!
-
Hallo Leute!
Ich möchte in meinen Win-API Programm gerne die Schriftart, -größe und -farbe ändern, doch ich weiss mal wieder nicht wie... Evtl. auch die Farbe und Dicke von den Linien ( Lineto() in WM-PAINT ), wenn möglich.Google habe ich auch schon "durchforstet" und die MSDN abgeklappert, doch irgendwie hat mir das nicht all zu viel geholfen ... Naja, hab mal nach WM_SETFONT geschaut, in der Msdn steht aber nicht viel drin, außer dass man es in ner sendmessage() - Funktion anwenden kann?!
Könntet ihr mir bitte ein kleines Beispiel posten, da lerne ich nämlich am draus - learn by doing ^^ !
Hoff mir kann jemand helfen ! Schonmal ThX!
n()()bi
-
Schade ... Keiner kann/will mir helfen

Für andere n00bs, die dieses Prob. auch haben:
Habe ne Lösung schonmal für die Text-Farbe:WM_PAINT: { //Hintergrundfarbe des Textes (Standart Weiss): SetBkMode(hDC, TRANSPARENT); //Textfarbe setzen RGB(Rotanteil, Gelbanteil, Blauanteil): SetTextColor(hDC,RGB(255,0,0)); //Hier dann Text ausgeben return 0;Schade, ich habe eig. von diesem Forum mehr erwartet! Bei dem normalen C++ Forum wird einen fast 100-%-tig geholfen ... und dass ziemlich schnell !
Naja, evtl. kann mir jemand noch bei der Font-Family und Größe helfen, da hat die MSDN wieder mal zu viele Funktionen, wovon ich die Parameter nicht checke ...
In der MSDN fehlen - meiner Meinung nach die Bsp. und die die vorhanden sind, sind meist zu umfangreich ! Naja ... Hoffe dass mir jemand bei den kleinen Prob helfen kann!
MFG: n()()bi
-
Textfonts macht man so:
Als erstes erstellt man ein Handle für ein Font:
[/cpp]HFONT name_des_handlesDann erstellt man einen Font mit CreateFont: [cpp]name_des_handles = CreateFont( 10,//Höhe 0, //Breite 0, //Winkel in 1/10 Grad 0, //Orientierung in 1/10 Grad 450, //Gewicht: 0-900 oder Konstanten: FW_BOLD, FW_NORMAL, FW_MEDIUM 0, //Kursiv (0,1) 0, //Unterstrichen (0,1) 0, //Durchgestrichen (0,1) 0, //Character Set 0,0,0 //Präzision 0, //Familie "Arial" //Fontname );Dann wählt man den Font an:
SelectObject(hDc, name_des_handles);Ab hier ist der Font aktiv.
Man sollte allerdings den Speicher wieder freigeben, wenn der Font nicht mehr gebraucht wird:DeleteObject(name_des_handles);Um die Pinselfarbe und die Stifteigenschaften zu ändern, macht man es ähnlich, nur halt mit HBRUSH und HPEN, und den Funktionen CreatePen() und CreateSolidBrush() (Am besten in der WinAPI Referenz nachlesen)
-
Dankeschön! Du hast mir sehr geholfen !!!!
Die Funktion habe ich in der MSDN auch gefunden und auch eingebunden, doch ich wusste nicht, dass man sie aufrufen muss
Eine kleine Frage hätt ich noch ... Wie kann ich meine Linien, die ich mittels "Lineto()" erstellt habe farbig gestalten ?
Mit CreateBrush gehts glaub ich ned ?!
THX 2 U ! MFG
n()()bi
-
Du musst einen farbigen Pen ( CreatePen() ) in das DC selektieren kein Brush

-
Dankeschön, funktioniert alles perfekt!