Guten Abend,
ich erstelle zu Laufzeit ein ShellListView und will diesem nun das OnChange Ereignis zu weisen. Bloß ich bekomme es nicht. Mit onDblClick geht es.
Die Typedefinition:
Delphi-Quellcode:
type
Tfrm_todo = class(TForm)
...
procedure ShellListViewOnDblClick(Sender: TObject);
procedure ShellListViewOnChange(Sender: TObject; Node: TTreeNode);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
ShellListView erstellen und Ereignisse zu weisen:
Delphi-Quellcode:
procedure Tfrm_todo.CreateShellListView;
begin
ShellListView := TShellListView.Create(Self);
ShellListView.Parent := frm_todo.ts_anhang;
ShellListView.Root := 'C:\';
ShellListView.ViewStyle := vsReport;
ShellListView.Sorted := True;
ShellListView.Top := 75;
ShellListView.Left := 3;
ShellListView.Width := 554;
ShellListView.Height := 310;
ShellListView.OnDblClick := ShellListViewOnDblClick;
ShellListView.OnChange := ShellListViewOnChange;
end;
procedure Tfrm_todo.ShellListViewOnDblClick(Sender: TObject);
begin
if ShellListView.Selected <> nil then
ShellExecute(0,'open',PChar(ShellListView.SelectedFolder.PathName),nil, nil, sw_ShowNormal);
end;
procedure Tfrm_todo.ShellListViewOnChange(Sender: TObject; Node: TTreeNode);
begin
ShowMessage(ShellListView.Root);
end;
Ich hatte auch schon:
Zitat:
procedure Tfrm_todo.ShellListViewOnChange(Sender: TObject);
Aber dies ging auch nicht.
Ich hoffe einer von euch sieht den Fehler.
Gruß, Sven