Nette diskustion die ihr hier führt.
Ich frage mich, warum du immer
Pages[i].Tabindex schreibst. Das kann man auch ganz einfach mit
i erreichen. Denn du suchst im "Array" Pages dass i-te Element, und ermittelst dann seinen Index, der ja schon in i steht.
Also bei mir (Delphi 6) funktioniert der code von Luckie:
Code:
procedure TForm1.MyShow/(Sender: TObject);
begin
ShowMessage((Sender as TTabSheet).Caption);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
with PageControl1 do
for i := 0 to 12 do
with TTabSheet.Create(Self) do
begin
PageControl := PageControl1;
Caption := IntToStr(i);
Tag := i;
OnShow := MyShow;
case i of
0 : Caption :='Einleitung';
1 : Caption :='Gerechtigkeitsstreben';
2 : Caption :='Kampfbereitschaft';
3 : Caption :='Sicherheitsstreben';
4 : Caption :='Harmoniebedürfnis';
5 : Caption :='Fröhlichkeit';
6 : Caption :='Fremdbestimmung';
7 : Caption :='Sentimentalität';
8 : Caption :='Hilfsbereitschaft';
9 : Caption :='Intellektualität';
10 : Caption :='Erfolgswille';
11 : Caption :='Sensibilität';
12 : Caption :='Selbstbestimmung';
end;
end;
end;
Beim starten des Programms kommt gleich eine MessageBox mit "Einleitung". Und wenn ich das Register wechsle kommen die entsprechenden Meldungen.