fette Schrift im Kontextmenü



  • Hallo,

    Ich habe ein Programm geschrieben, das ein Icon in der Taskleiste (Systray) erstellt. Wenn man einen Rechtsklick auf das Icon macht erscheint ein Kontextmenü.

    Soweit so gut.

    Wie schaffe ich es aber nun, dass Schrift im Kontextmenü fett dargestellt wird?
    (Ich habe das Kontextmenü mit TrackPopupMenu gemacht, wenn euch das hilft)



  • Ich vermute mal, dass musst Du selber Zeichnen...
    - WM_DRAWITEM / WM_MEASUREITEM und HBMMENU_CALLBACK



  • Sicher das man das immer selber machen muss. Einige Windows Sachen (z.B der Mixer/das Lautsprecher Symbol in der Taskleiste) haben nämlich auch Menüelemente die fett gedruckt sind. Hat Microsoft für sowas keine Funktion vorgesehen?

    Eine weitere Frage (etwas Off-topic):
    Wie kann ich einstellen das man Menüelement mit einem Buchstaben aktivieren kann.

    Bsp: In Firefox kann ich mit Alt + B + E Sachen einfügen. (Kein Hotkey, die Tasten müssen einzeln hintereinander gedrückt werden). Die Buchstaben die man drücken muss sind dabei immer unterstrichen



  • Es gibt auch noch "MFS_HILITE" im fState eines Menu-Eintrages... das könnte es vielleicht sein...
    Hotkeys gehen so: Dazu musst Du eine Accelerator-Tabelle anlegen und einbinden... wurde hier im Forum auch schon mal besprochen (LoadAccelerators)
    Wenn Du die Unterstriche im Menü meinst, dann musst Du einfach ein "&" vor den jeweiligen Buchstaben machen:

    &Datei | Ö&ffnen
    

    dies würde dann ALT + D + F ergeben...



  • Also MFS_HILITE ist es nicht, dann hat das Menü nur einen MouseOver Effekt der nicht weggeht (nicht das ganze Menü, sondern nur das Menü Element). Hat jemand noch eine Idee?

    Das mit der Accelerator-Tabelle werde ich mal ausprobieren...


Anmelden zum Antworten