XP-Menü
-
Hallo,
Ich möchte ein richtiges XP-Menü bauen, wie man es auch im normalen Explorer hat:
http://mitglied.lycos.de/fxlabs/Menu_XP.gif
(zu beachten ist auch der Verlauf der Fraben von links (weiß) nach rechts)
Das normale Menü sieht nur so aus:
-
Na dann...viel Spaß dabei
:p 
-
Sehr schön. Wenn du fertig bist kannst du uns ja den Quellcode zur Verfügung stellen.

-

Haarspalter!

Wie kann ich das denn umsetzen?
-
Musst Dich mit Ownerdraw Menüs beschäftigen, also eine Klasse von Menü ableiten und selbst zeichnen.
Es gibt da ein XP-Style Menü auf www.codeguru.com, musst mal danach suchen.
Das brauchst Du nur einbinden in Dein Projekt.
Sonst kannst ja guckn, wie die das gemacht haben...
-
Aber dieses Menü verwenden doch mehrere Programme unter Windows, z.B. auch der Mozilla FireFox.
Ich habe jetzt eigentlich gedacht, dass das ein natives WinXP-Style ist und dass ich das nicht selber malen muss.
(Bei Programmen der WTL sieht das Menü auch so aus)
-
Benutzt du Windows XP und hast du eine manifest-datei erzeugt ?
http://www.winapi.net/index.php?inhalt=t8
-
Ja, klar, habe ich gemacht. (und andere Controls wie Buttons werden auch im XP-Stil angezeigt)
-
Ich weiß jetzt, was es ist: http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/faq/iemenubar.asp?frame=true
Dort werden ja ein paar Schritte beschrieben, aber was ich nicht verstehe:
Wie kann man die Buttons so anpassen, dass beim Drüberbewegen der Maus dieser Menü-Punkt blau unterlegt wird? (Bis jetzt habe ich es so, wie es bei normalen Toolbar-Buttons aussieht)
-
Zeige mal dein CreateWindowEx() Aufruf, um zu sehen welche Parameter du verwendest!
EDIT: Haste es ja schon, MSDN Rules.
-
Style = WS_CHILD | TBSTYLE_LIST | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | CCS_NODIVIDER | CCS_NORESIZE | WS_VISIBLE; HWND ToolbarHandle=CreateWindow(TOOLBARCLASSNAME ,0,Style,0,0,10,22,hWnd,(HMENU)ID_TOOLBAR,hInst,0);;