Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mainmenü (https://www.delphipraxis.net/97090-mainmenue.html)

Störtebeker 4. Aug 2007 13:05


Mainmenü
 
Habe folgendes Problem: Ich möchte einem Eintrag in meinem Maninmenü eine Check-Funktion zuweisen.

mit folgendem code:

Delphi-Quellcode:
if HTML2.checked=true then Toolbar2.visible:=true;
if HTML2.checked=false then Toolbar2.visible:=false;
HTML2 ist der Name für den Eintrag des Mainmenüs. Folgendes passiert, wenn ich das Programm starte: Ich gehe auf den Eintrag HTML, klicke drauf und die Toolbar verschwindet. Klicke ich nochmal drauf, kommt sie aber nicht wieder. Stelle ich beim Mainmenüeintrag HTML2 im OI die Eigenschaft Checked auf True, passiert überhaupt nichts, wenn ich dann im Programm draufklicke.

Was muss ich anders machen?

mkinzler 4. Aug 2007 13:08

Re: Mainmenü
 
1. Besser so
Delphi-Quellcode:
Toolbar2.visible:=HTML2.checked;
BTW. Boolean-Eigenschaften brauchst du nicht auf true überprüfen, da sie ja schon einen Wahrheitwert haben:

Delphi-Quellcode:
If <Eigenschaft>
bzw.
Delphi-Quellcode:
if not <Eigenschaft>

Jelly 4. Aug 2007 13:10

Re: Mainmenü
 
Setzt du auch im OnClick Ereignis deines Menüitems die Checked Eigenschaft vom Menüeintrag selbst...

Ich würd das so lösen, im OnClick Ereignis:

Delphi-Quellcode:
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
     (sender as TMenuItem).Checked := not ((sender as TMenuItem).Checked) ;
     toolbar2.visible := (sender as TMenuItem).Checked;
end;

Störtebeker 4. Aug 2007 13:17

Re: Mainmenü
 
Danke, jetzt gehts.

Tommy1988 4. Aug 2007 16:14

Re: Mainmenü
 
mir hat damals jemand gesagt:
Zitat:

Niemals auf True oder False "checken"
So ist es besser:
Delphi-Quellcode:
if CheckBox.Checked then
 begin
  // Anweisungen
 end else
  begin
   // Anweisungen
  end;
end;


DeddyH 4. Aug 2007 18:10

Re: Mainmenü
 
Zitat:

Zitat von mkinzler
Delphi-Quellcode:
Toolbar2.visible:=HTML2.checked;

Besser und kürzer geht' s doch nicht mehr, oder?

patti 4. Aug 2007 20:18

Re: Mainmenü
 
@Tommy1988: da ist ein end; zu viel (das letzte)

P@Tti


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz