Ein paar Fragen zu Menüs !!!



  • Hallo zusammen, ich habe ein paar Fragen zu Menüs:

    1. Wie kann ich einem Menupunkt ein Grafiksysmbol zueignen,welches dann vor dem Text erscheint, ohne dass dieses dann bei drüberfahren invertiert wird ???

    2. Wie kann ich machen, dass z.B. Strg+V hinter dem Text eines Menuitems erscheint ???

    3. Wie kann ich machen, dass ein Menupunkt nicht mehr anwählbar ist ??? MF_GRAYED zeigt zwar an, das der Menupunkt deaktiviert ist, man kann aber trotzdem noch draufklicken...

    4. Ich möchte, dass ein Radiobutton vor mehreren Menueinträgen steht, ist das überhaupt möglich, oder muss ich dazu auf Häckchen ausweichen ??? MF_CHECKED



  • Zu 1.: Probier mal die Suchfunktion aus, ich könnte wetten, dass das schon mal hier im Forum beantwortet wurde.

    Zu 2.: Mit einem Tabulator-Zeichen (\t), also so z.B.: "Menütext\tStrg+V"

    Zu 3.: Geht meines Erachtens gar nicht (es sei denn du proggst deine eigenen Menüs, anstatt die Standard-Windows-Menüs zu verwenden).

    Zu 4.: Da kann man glaub ich das Häkchen-Bitmap durch irgendein anderes Bitmap (z.B. eben einen Radiobutton-Punkt) ersetzen.



  • 1. -> da musst du alles selbst zeichen (ownerdraw). ich glaub ich das du darauf bock hast 😃



  • Mit einem Tabulator-Zeichen (\t), also so z.B.: "Menütext\tStrg+V"

    Witzbold !!!
    Der Menupunkt soll natürlich auch aktiviert werden, wenn daraufgeklickt wurde !!!



  • Irgendwie hast du keine Peilung, kann das sein?

    Du wolltest wissen, wie man Strg+V hinter dem Menü-Item anzeigt. Bingo: Der Menü-Item-Text muss ein Tabulatorzeichen gefolgt von Strg+V enthalten. Vielleicht probierst du's erstmal aus, bevor du rummeckerst... 🙄



  • Accelerator einrichten!



  • Ich denke, der Accelerator ist das, was ich gesucht habe, doch das ist doch eine Ressource oder nicht, gibt es keine Möglichkeit, dies auch als Code zu implementieren ???



  • Klar, alles was du als Resource implementieren kannst, kannst du auch mit normalem Code machen. CreateAcceleratorTable heisst die Funktion glaub ich. 😃



  • @macphistox2002
    Ich hielt sein Posting für einen Scherz, meine Bemerkung war jedoch nicht böse gemeint !!!



  • Hallo nochmal, ich habe das mit den Accelerators dank <*********> hinbekommen.
    Bleiben immer noch die anderen drei Probleme...
    Ich denke, dass die meissten von hier schon einmal mit Microsoft Word 2000 gearbeitet haben.
    Da sieht man beides in schönster Pracht:
    Bilder, die sich nicht invertieren sowie deaktivierte Menupunkte
    Wieso ist soll denn dies mit der Winapi nicht möglich sein, ist denn Word2000 nicht mit der Winapi geschrieben ??? 😕

    Gruss Ishildur



  • Natürlich ist es mit Winapi möglich, du musst es halt nur komplett selber malen, was wiederum ziemlich aufwendig ist. ansonsten geht das nicht!



  • Ok, noch eine letzte Frage:
    Ich habe folgendes geschrieben:

    AppendMenu(hMenuMain,,MF_STRING|MF_GRAYED|MF_DISABLED,(int)hMenuMode,"M&ode");

    Nun erscheint das Menuitem zwar grau und signalisiert dadurch die inaktivität, ich kann jedoch nach wie vor darauf klicken, was soll denn das ???

    mfg Ishildur



  • zu 3) EnableMenuItem(hMenu,nPositon, MG_GRAYED | MF_DISABLED | MF_BYPOSITION);



  • Was bewirkt das Flag MF_BYPOSITION ???

    Ach ja, sorry war wohl vorhin doch nicht die letze Frage...
    Ich muss aus der WndProc Funktion das Menu verändern können, arbeite aber gar nicht gern mit globalen Variablen !!!
    Gibt es eine Möglichkeit, aus dem Fenser Handle das Handle des dazugehörigen Menüs zu ermittlen ???

    Vielen Dank schon mal !!!



  • Es reicht langsam, lies doch endlich mal die Dokumentation.

    GetMenu :o



  • Hey, hier kann jeder fragen was er will, wenn es einem nicht passt muss er ja nicht posten



  • Jo find ich auch dafür ist ein forum schliesslich da ..... nicht jeder versteht was in der MSDN oder sonstwo steht ...

    also MF_BYPOSITION heisst das die Funktion mit den Positionsindex arbeitet,
    bei nPosition gibst du die postition des eintrages an den du disablen willst.

    mfg



  • Ich glaube, ich habe die Lösung der Bitmaps in den Menüs in Office2000 usw. gefunden !!!
    Ich denke Microsoft, verwendet ganz einfach keine Menüs mehr sondern nur noch Toolboxes !!!
    Versucht nämlich mal, im IE5.5 das Menu zu verschieben, geht nicht. Nun versucht dasselbe einmal bei Microsoft Word2000, sieh da, es geht wunderbar, also kann es kein Menu sein, sondern muss eine Toolbar sein, die als Menu getarnt ist...

    Gruss Ishildur

    P.S.
    Tut mir leid, wenn ich den einen oder anderen hier generft habe, manchmal sehe ich eindach den Wald vor lauter Bäume nicht mehr, sprich, ich suche eine einfache Funktion, kann sie jedoch nicht finden, nur weil ich nach einem falschen Schlüsselwort gesucht habe...



  • Bei codeguru.com gibt's einige gute Beispiele zu Menüs mit Bitmaps, zum Beispiel diesen Artikel:
    [url] http://www.codeguru.com/menu/owner_drawn_menu4.shtml [/url]
    Ist zwar alles auf MFC-Basis gebaut, lässt sich aber auf reine WINAPI umbasteln.


Anmelden zum Antworten