Zitat von
jaenicke:
Nach einem kurzen Blick würde ich sagen, du musst damit nur noch die Ereignisfunktionen zum Ersetzen der Caption / Text / etc. Eigenschaften machen, und die Klasse sucht für dich die Komponenten.
Genau. Hätt ich wohl noch erläutern müssen
Das Programm soll nur zeigen wie man die Klasse benutzt.
Delphi-Quellcode:
function test(x: String): String;
begin
if copy(x, 1, 3) = 'foo' then result := 'bar'+x else result := 'foo'+x; // <- Unsinn ;)
//Das wäre eine Stelle, wo du was sinnvolles machen könntest, z.B. die Umlaute ersetzen.
end;
procedure TForm1.Button2Click(Sender: TObject);
var x: TControlChanger;
begin
x := TControlChanger.create;
x.CaptionFunc := test; { <- hier wird die Ereignisfunktion für die zugewiesen;
CaptionFunc ersetzt, o Wunder, die Caption (oder bei Memos und Listboxes die Zeilen)}
{ Es gibt noch TControlChanger.TagFunc (ähnlich TControlChanger.CaptionFunc)
(bekommt TComponent.Tag übergeben und muss einen passenden String zurückliefern)
und TControlChanger.ComponentChangeProc (Prozedur, bekommt nur die Komponente übergeben) }
x.ChangeableComponents := x.ChangeableComponents + [ccTCustomListBox, ccTEdit];
x.changeComponentsRecursive(application);
x.Free;
end;
MfG,
Bug