![]() |
mainmenu items ändern
Ich habe in delphi 8.0
ein mainmenue mit drei Utermenues: schraffiert farbig Druck. Ich möchte die beiden ersten quasi als Kippschalter benutzen: wenn ich schraffiert anklicke, dann soll die Zeichnung schraffiert werden und die Anzeige springt auf farbig. Wenn ich dann farbig anklicke, so soll die Grafik farbig werden und der Schalter lautet schraffiert. Im Endeffekt hätte ich dann nur zwei Schalter: schraffirt bzw. farbig und Druck |
AW: mainmenu items ändern
Guck dir in der OH beim Thema Menü folgenden vier Punkte an: AutoCheck, Checked, RadioItem und GroupIndex an. Je nachdem was du brauchst ist es in der Regel eine Kombination aus einigen der vier Punkte.
|
AW: mainmenu items ändern
Da komme ich noch nicht weiter.
Ich stelle mir etwa vor: if mainmenu1.items....='schraffiert' then begin schraffieren(sender); ....umbenennen des ersten items in farbe... exit; end; if mainmenue1.items....='farbig' then begin farbig(sender); ....umbenennen von farbig in schraffiert... end; aber wie ich den Namen der items abfrage und wie ich jeweils einen spezifischen Namen verändere, das weiß ich nicht. Die Hinweise führen mich nicht weiter. |
AW: mainmenu items ändern
Im OnClick-Event des TMenuItem-Eintrags kannst Du über den Parameter 'Sender' das MenuItem abfragen, auf das geklickt wurde. Dort kommt dein Code rein.
|
AW: mainmenu items ändern
Ich stehe weiterhin auf dem schlauch:
im Objektinspektor rufe ich in onclick die procedure schraffiertfarbigpruef auf. Die Abfragen a. wie der Name des tmenueitem ist, um eine weitere procedure aufzurufen und b. wie ich den Namen verändern kann gelingt mir noch nicht procedure tform8.schraffiertFarbigPruef(sender:TObject); begin //if TmenuItem. sender =('schraffiert') then begin schraffieren(sender); //....umbenennen des ersten items in farbe... exit; end; {if mainmenue1.items....='farbig' then begin farbig(sender); ....umbenennen von farbig in schraffiert... end; } end; |
AW: mainmenu items ändern
Von Delphi.NET hab ich keinen Plan, aber so ungefähr könnte es doch gehen:
Delphi-Quellcode:
Wobei man FSchraffiert auch als private Property deklarieren könnte, welche im Setter dann die Änderungen vornimmt.
procedure TDeinForm.DeinMenuItemClick(sender:TObject);
begin if Sender = DeinMenuItem then begin FSchraffiert := not FSchraffiert; if FSchraffiert then begin (* Code *) end else begin (* Code *) end; end; end; |
AW: mainmenu items ändern
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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