Leider hat es mit Invalidate auch nicht geklappt.
Ich habe nun das gesamte Projekt mal als Anhang zum Download bereitgestellt. Das Projekt benötigt eine selbstgeschriebene Komponente TStringGridEx, die auch im Anhang enthalten ist.
In der folgenden Procedure setzte ich zur Probe das Visible-Property des Buttons auf false. Nun dürfte der Button nicht mehr dargestellt werden:
Delphi-Quellcode:
procedure TForm1.sgZipProjectCBClick(ACheckBox: TGridCheckBoxExt; ACol,
ARow: Integer);
var
ABT : TGridButton;
begin
ABT := sgZipProject.Button[4,ARow];
if ABT <> Nil
then if ACheckBox.Checked
then ABT.Enabled := true
else begin
ABT.Enabled := false;
ABT.Visible := false;
end;
end;
Das gleiche Problem habe ich, wenn ich alle Zip-Projekte im StringGrid lösche.
Das Programm soll später einmal in der Lage sein, verschiedene Zip-Projekte manuell oder nach Zeit auszuführen. Die Zip-Projekte beinhalten Zip-Jobs, die wiederum alle Dateien enthalten, die gepackt werden sollen. Dadurch ist es möglich, einfach und schnell alle Dateien eines Projektes zum Feierabend zu packen ohne sich jedesmal zu fragen, ob jetzt wirklich alle benötigten Dateien im Ziparchive enthalten sind.
Gruß,
Woto