Ich wünsche mir, dass sowas endlich mal direkt eingebaut ist.
Delphi-Quellcode:
type
TPageControl =
class(ComCtrls.TPageControl)
private
FStartupPage: TTabSheet;
// Diese Seite wird beim Start der Form geladen, unabhängig von der letzten aktiven Seite in der IDE.
procedure SetStartupPage(Value: TTabSheet);
function SaveActivePage: Boolean;
function SaveStartupPage: Boolean;
published
property ActivePage
{: TTabSheet read FActivePage write SetActivePage} stored SaveActivePage;
property ActivePageOnStartup: TTabSheet
read FStartupPage
write SetStartupPage
stored SaveStartupPage;
end;
function TPageControl.SaveActivePage: Boolean;
begin
Result := Assigned(ActivePage)
and not Assigned(FStartupPage);
end;
function TPageControl.SaveStartupPage: Boolean;
begin
Result := Assigned(FStartupPage);
end;
procedure TPageControl.SetStartupPage(Value: TTabSheet);
begin
FStartupPage := Value;
if Assigned(FStartupPage)
then
inherited ActivePage := FStartupPage;
end;
Ich habe es noch nie verstanden, wieso das nicht drin ist. Ist mit wenigen Zeilen Source erledigt. Da ich aber inzwischen fast nur noch TMS verwende, ist es mir egal.