Menüeintrag enablen



  • Hi
    Ich habe mir mit dem Borland-Builder ein Programm mit einem Menü erstellt.
    Nun habe ich einen Button erstellt, dessen Code folgendermaßen aussieht:

    menu = GetMenu(Form1->Handle);
                    if(menu != NULL)
                    {
                         sub_menu = GetSubMenu(menu, 0);
                         if (sub_menu != NULL)
                         {
                            EnableMenuItem(sub_menu, 0, MF_BYPOSITION | MF_ENABLED);
                         }
                         else
                         MessageBox(0, "SubMenu konnte nicht gefunden werden!", "schade", MB_OK);
                    }
                    else
                            MessageBox(0, "menu nicht gefunden!", "schade", MB_OK);
    

    Den ersten Menüeintrag hab ich mit dem Borlan-Builder deaktiviert und möchte ihn nun so wieder anschalten. Der Text des Menüeintrags wird wohl wieder lesbar, aber wenn ich draufdrücke, dann passiert nicht die gewünschte Aktion.

    Kann mir jemand helfen, dass auch die Aktion ausgeführt wird?
    Danke!

    Gruß
    Philipp



  • Funktionieren denn die anderen Menü-Einträge 🙄
    Hast du den deaktivierten Eintrag im Borland-Builder auch richtig verknüpft - also funktioniert er, wenn du ihn im Borland-Builder einfach nicht als inaktiv markierst?!



  • Ja, das funktioniert alles. Wenn ich einen anderen Button nehme und die Eigenschaft mit den "Borland-Funktionen" ändere, dann klappt es.



  • Ich wollte wissen, ob genau dieser Eintrag (der der derzeit inaktiv ist und aktiviert werden soll) funktioniert, wenn du ihn gleich im Borland-Builder aktivierst?!
    Klappt es bei anderen Einträgen, sie inaktiv zu erstellen und erst im Code später zu aktivieren (führen sie noch ihre Aktionen aus)?



  • Wenn ich ihn gleich im Builder aktiviere, dann führt er die Aktion aus, wenn ich ihn mit den "Borland-Funktionen" aktiviere, dann führt er auch seine Aktion aus. Nur wenn ich ihn mit dem oben genannten Code aktiviere, dann führt er die Aktion nicht aus.

    Bei einem Button habe ich es noch versucht. Da hat alles wunderbar funktioniert. Allerdings verwendet man ja da andere Funktionen.

    Ich hoffe, dass ich dich richtig verstanden habe.

    Gruß
    Philipp



  • Warum aktivierst du ihn dann nicht einfach mit den Borland-Funktionen, wenn dann geht 😕
    Diese rufen halt intern wohl noch mehr als nur EnableMenuItem auf, deshalb klappt's vielleicht net, wenn du eben nur diese aufrufst 🙄



  • Ich möchte aber dieses Menü von einem anderen Programm aus einschalten. Daher kann ich leider nicht auf die Borland-Funktionen zurückgreifen.



  • Weiß wirklich keiner einen Rat?
    Wie aktiviert ihr denn in einem Menü die Einträge?

    Danke! 🙂


Anmelden zum Antworten