Autor Beitrag
JustDuIt
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 21.03.05 14:08 
hallo,
ich erzeuge ein dynamisches MainMenu.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
  for i := 0 to xx do
  begin
    // Create a new Menu Item
    // Neuen Menüpunkt erzeugen
    NewItem := TMenuItem.Create(Self);
    // Add name
    // Name
    NewItem.Caption := 'Test'+IntToStr(i);
    // Caption
    NewItem.Caption := 'Test'+IntToStr(i);
    // Add the new menu
    // Den neuen Menüpunkt hinzufügen
    MainMenu.Add(NewItem);
  end;//for i := 0 to


Das fktioniert.
Jetzt kommt das Problem. Ich möchte, dass bei Anklicken eines Punktes, dieser "geChecked" wird.
das bekomme ich nicht hin, da ich nicht weiß, auf welchen geklickt wurde. Gibt es dafür einen Trick?


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//Bsp
procedure TForm1.MainMenuClick(Sender: TObject);
var
  i : integer;
begin
  for i := 0 to MainMenu.Count - 1 do
  begin
    if MainMenu.Items[i].Click := true then // <- hier ist das Probelm!!!
      MainMenu.Items[i].Checked := true;
  end; //for i := 0
end;
Stübi
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 331

Win XP, Win 2000, Win ME
D5 Ent, D7 Prof, D2005 PE, C#
BeitragVerfasst: Mo 21.03.05 14:19 
user profile iconJustDuIt hat folgendes geschrieben:
hallo,
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//Bsp
procedure TForm1.MainMenuClick(Sender: TObject);
var
  i : integer;
begin
  for i := 0 to MainMenu.Count - 1 do
  begin
    if MainMenu.Items[i].Click := true then // <- hier ist das Probelm!!!
      MainMenu.Items[i].Checked := true;
  end; //for i := 0
end;


Mit doppelpunkt ist es eine Zuweisung und kein Vergleich!
Das ist das, was mir gerage so aufgefallen ist, genauer habe ich mir den Code nicht angeschaut.

Gruss Stübi

_________________
Neun von zehn Stimmen in meinen Kopf sagen, dass ich nicht verrückt sei. Die zehnte summt die Tetrismelodie.
JustDuIt Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 21.03.05 14:27 
user profile iconStübi hat folgendes geschrieben:

Mit doppelpunkt ist es eine Zuweisung und kein Vergleich!
Das ist das, was mir gerage so aufgefallen ist, genauer habe ich mir den Code nicht angeschaut.


Sorry, der Doppelpunkt gehört da nicht rein. Es funktioniert aber trotzdem nicht!
Stübi
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 331

Win XP, Win 2000, Win ME
D5 Ent, D7 Prof, D2005 PE, C#
BeitragVerfasst: Mo 21.03.05 14:49 
Versuchst du auf den Titel des Menus zuzugreifen? Also zum Beispiel auf Datei (beim IE)

Gruss Stübi

_________________
Neun von zehn Stimmen in meinen Kopf sagen, dass ich nicht verrückt sei. Die zehnte summt die Tetrismelodie.
Sascha Object
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 21.03.05 14:50 
Hi JustDuIt!

Im Prinzip ganz einfach; Mit dem Sender. Der Sender kommt immer daher, wo geklickt wird.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.MainMenuClick(Sender: TObject);
begin
  TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
end;


Gruss Sascha

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
JustDuIt Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 21.03.05 15:00 
user profile iconSascha Object hat folgendes geschrieben:
Im Prinzip ganz einfach;
Mit dem Sender. Der Sender kommt immer daher, wo geklickt wird.
Gruss Sascha


danke,

hat geholfen!!!
Jan11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 62



BeitragVerfasst: Di 07.02.06 13:48 
Titel: click?
ich hab nur ne kleine frage:
wo finde ich das "mainmenu.click" ?
ich kann da nur OnChange auswählen oder eben auf ein Item bezogen.