Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
6. Aug 2012
Darum geht es ja gerade gar nicht. Der Punkt ist, dass der Quelltext so aussieht:procedure A;
begin
xy.DeleteItem;
end;
procedure OnDeleted;
begin
ShowMessage('Ha, gelöscht');
end;Statt ganz einfach und simpel:procedure DeleteMyItem;
begin
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
6. Aug 2012
Sicher, aber das ist genau der Punkt:
Der Befehl kommt aus der Anwendung. Dort wird ja explizit das Löschen aufgerufen.
Deshalb wird dafür eigentlich gar kein Event benötigt, da Events nur gebraucht werden, wenn der Programmierer etwas mitbekommen muss, von dem er sonst nicht mitbekommen würde, dass es passiert. Da die Aktion hier selbst per Quelltext gestartet wird, weiß man das aber schon....
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
6. Aug 2012
Naja, du bekommst aber bei jedem gelöschten Item eine solche Message. Das gilt auch z.B. für Clear, wenn du alle löschst...
Wie löschst du denn sonst mehrere auf einmal?
(Nebenbei kann der Benutzer selbst ohnehin nix löschen, sondern nur der Programmierer mit dem passenden Befehl, so dass der Zeitpunkt danach ohnehin feststeht und erreichbar ist...)
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
5. Aug 2012
1. Nimm einfach eine "richtige" Komponente, nämlich z.B. die TVirtualStringTree:
http://www.delphi-gems.com/index.php/controls/virtual-treeview
Dort gibt es das Event OnFreeNode, in dem die Anzahl bereits die neue ist:procedure TForm236.VirtualStringTree1FreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
begin
Caption := IntToStr(Sender.RootNode.ChildCount);
end;
Außerdem ist die...