![]() |
TMenuItem öffnet sich nicht
Hallo zusammen, :hi:
ich habe das Problem, daß wenn das OnClick-Ereignis aufgerufen wird, die Untermenupunkte nicht angezeigt werden. Nachdem der Haupt-Menupunkt ausgewählt wurde, wird ein Formular geöffnet, wo eine Passwortabfrage erscheint. Ist das Passwort richtig, so sollen die Untermenupunkte enabled ansonsten disabled werden. Das funktioniert zwar, aber der Hauptmenupunkt wird nicht "ausgeklappt", so daß man die Untermenupunkte nicht anwählen kann. Folgender Code wird im OnClick-Ereignis ausgeführt:
Delphi-Quellcode:
Die Abfrage des Passwortes ist erst einmal eine Vereinfachung, dies wird noch geändert.
procedure TForm1.miSettingsClick(Sender: TObject);
begin if frmPassword.ShowModal = mrOK then begin if frmPassword.Password = 'HALLO' then begin miPLCSet.Enabled := true; miCreateIni.Enabled := true; end else begin miPLCSet.Enabled := false; miCreateIni.Enabled := false; end; end; end; Hat jemand eine Idee ? Gruß Woto |
Re: TMenuItem öffnet sich nicht
kurzer Nachtrag:
Sobald im OnClick-Ereignis eine Anweisung steht, wird das Menu nicht mehr geöffnet:
Delphi-Quellcode:
Warum ist das so ???? :gruebel:
procedure TForm1.miSettingsClick(Sender: TObject);
begin ShowMessage('HALLO'); end; |
Re: TMenuItem öffnet sich nicht
Moin,
die Passwortabfrage darf nicht im OnClick stattfinden. Sobald das Menü aufklappt und ein Menüpunkt Unterpunkte hat, kommt das Ereignis OnClick auf. In dem Fall wird dann das Menü geschlossen und OnClick ausgeführt. Falls das doch so ungefähr laufen soll, kannst du einfach ein Popupmenü öffnen lassen. Die Startposition ist ja nicht schwer zu berechnen. Stefan |
Re: TMenuItem öffnet sich nicht
Hallo Stefan,
vielen Dank für deine Idee. :thumb: Solch ein Workaround wollte ich eigentlich umgehen, aber ich galube, es bleibt mir nichts anderes übrig. :? Bis denne, Woto |
Re: TMenuItem öffnet sich nicht
Popupmenüs haben da ein OnPopup, schade eigentlich daß das TMainMenu fehlt... aber laut Hilfe dürfte OnUpdate des Hauptmenüs genau für so etwas da sein (falls man das Ereignis in einer Action hat, die mit dem TMenuItem verknüpft ist, was sowieso eleganter sein dürfte als den Code direkt auf das miSettingsClick zu legen)?
|
Re: TMenuItem öffnet sich nicht
Normalerweise mach ich das auch immer mit einer TAction.
Werde ich auch noch machen ! :coder: Nur jetzt ärgere ich mich wieder mit RAVE-Report. :wall: Gruß, Woto |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz