Entwickler-Ecke

Windows API - Menü einfärben/Textur überziehen?


digi_c - Di 19.08.03 13:14
Titel: Menü einfärben/Textur überziehen?
Also ich bin nicht ganz sicher ob das nur per API geht aber mir fällt imo nix mehr ein :(
Wie könnte ich ein MainMenü umfärben?


Tino - Di 19.08.03 13:46

Umfärben? Die MenuItems verfügen über ein Draw-Event. Versuch es mal damit.

Gruß
Tino


digi_c - Fr 29.08.03 18:26

Oh gott oh gott ich bin verloren :(


Keldorn - Fr 29.08.03 18:46

Hallo wie wärs mit der Suchfunktion,mit den Begriffen, die dir Tino gepostet hat?
http://www.delphi-forum.de/viewtopic.php?p=91768#91768
ist zumindestens mal ein ansatz.

- stell ownerdraw beim mainmenu auf true
- weise allen menuitems eine ondrawitem-methode zu (entweder im Objektinspektor oder wie es tweafis (siehe link) gemacht hat im Code)
diese mußt du nicht für jedes item extra erstellen, 1 mal reicht und alle andere items auf diese Methode einstellen
- probiers erstmal einfach, in dem du nur Farben änderst.

Delphi-Quelltext
1:
Acanvas.brush.color:=clblue                    

- wenn du damit klar kommst, dann probiers mit der Textur: brauchst eine globale Bitmap (z.B. in private abschitt der Form) und die Bitmap (bzw. einen entsprechenden Ausschnitt) zeichnest du dann mit Acanvas.copyrect(...) um den Text dann drüberzulegen, schreib

Delphi-Quelltext
1:
2:
acanvsas.brush.color:=bsclear;
acansvas.textrect(....)


so schwer ist das nicht, probiers erstmal alleine. gugg dir auch alle Befehle in der OH an. und wenn du nicht weiterkommst, stell gezielt fragen.

Mfg Frank


digi_c - So 31.08.03 18:37

Vielen Dank! Das mit der Suche habe ich doch glatt überlesen :wink: