Entwickler-Ecke

Windows API - Suche Möglichkeit beim Popupmenü eine Breite einzustellen


Popov - Sa 27.10.07 01:30
Titel: Suche Möglichkeit beim Popupmenü eine Breite einzustellen
Die Breite eines Popupmenüs hat eine automatisch eingestellte Breite. Sie richtet sich in der Regel nach der Breite der Einträge. Ich möchte ein Popupmenü mit einer größeren von mir eingestellten Breite, weil es dann optisch im Programm besser wirken würde. Mit normalen Mitteln geht das nicht. Kennt einer eine API Methode?


Popov - Sa 27.10.07 18:09

Oder kann einer zuminest etwas Sachverwantes bieten, so daß ich zumindest ein Einstiegspunkt hätte und mich nicht durch die ganze API wühlen müßte.


ice-t - So 28.10.07 17:10

einen Menüeintrag mit Leerzeilen auffüllen?


Popov - Mo 29.10.07 20:07

user profile iconice-t hat folgendes geschrieben:
einen Menüeintrag mit Leerzeilen auffüllen?


Das wäre Pfusch.

Aber ich hab selbst etwas entdeckt. Über das Ereignis OnMeasureItem des Items des Menüs kann man die Breite des Items einstellen. Das Menü muß sich dann dem breitesten Item anpassen. Das einzige Problem dann ist aber, daß man dann das ganze Canvas selbst zeichnen muß, also Icons, Text, selektierten Item usw. Wählt man die Methode, folgt viel Programmierarbeit.

Wenn also zufällig einer doch noch eine gute Api-Idee hat, ich könnte mir viel Arbeit sparen ;)