Hallo!
Ich fange gerade mit Pointern an...
Also, ich habe mehrer zur Laufzeit erzeugte TTreeview.
Wird auf eines geklickt, so soll sich die Farbe verändern und ein Pointer darauf gesetzt werden, während das, auf das der Pointer davor gesetzt war, wieder die ursprüngliche Farbe annehmen soll.
Das ganze habe ich jetzt so versucht:
Delphi-Quellcode:
procedure TMainForm.TreeMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (g_Objekt<>nil) then
begin
TTreeView(g_Objekt^).Color:=clWindow;
end;
g_Objekt:=@Sender;
TTreeview(g_Objekt^).Color:=clAqua;
end;
Leider funktioniert das ganze nicht...
g_Objekt ist eine globale Variable (g_Objekt
ointer).
Das jeweils angeklickte ändert die Farbe, aber das vorherige bleibt wie es ist.
Was mache ich Falsch?