Autor Beitrag
Radon
Hält's aus hier
Beiträge: 14

Win XP
D7 Entp
BeitragVerfasst: Mi 29.09.04 00:35 
Hallo!

Ich habe in meinem Programm ein PopUpMenü, mit dem ich die Farben mehrerer ListViews individuell ändern will.
Ich muss also herausfinden von welcher ListView das PopUpMenü aufgerufen wurde, oder liege ich da falsch?

Also entschied ich mich für folgenden Code:

ausblenden Quelltext
1:
2:
3:
4:
procedure TForm1.Schriftfarbendern1Click(Sender: TObject);
begin
(Sender as TListView).Color:=ColorDialog.Color;
end;


Aber ich bekomme genau in dieser Zeile einen 'Invalid class typecast' Fehler.

Ich hab schon alles mögliche probiert :cry:
teebee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 109


D6 Prof
BeitragVerfasst: Mi 29.09.04 22:11 
Radon hat folgendes geschrieben:
ausblenden Quelltext
1:
2:
3:
4:
procedure TForm1.Schriftfarbendern1Click(Sender: TObject);
begin
(Sender as TListView).Color:=ColorDialog.Color;
end;
Der Sender ist hier nicht das ListView, sondern das MenuItem, das Du gedrückt hast. Die Komponente, die das Popupmenü aufgerufen hat steht in der Eigenschaft PopupComponent dieses Popupmenüs.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Schriftfarbendern1Click(Sender: TObject);
begin
  (Popupmenu1.PopupComponent as TListView).Color := ColorDialog.Color;
end;


Gruß, teebee