Abend,
hab zwei Panels mit jeweils einem OnEnter-Ereignis. Beide sind bei Programmstart unsichtbar. Jetzt mache ich das erste sichtbar und das OnEnter-Ereignis wird ausgelöst, mache es anschließend wieder unsichtbar und das zweite sichtbar aber das OnEnter wird nicht ausgelöst. Und ich komm nicht drauf warum...
Delphi-Quellcode:
//Panel sichtbar machen:
procedure TfrmMain.lblEditAppearanceClick(Sender: TObject);
begin
ShowPanel(3);
end;
procedure TfrmMain.ShowPanel(Index: Integer); //funkioniert auch, das Panel wird angezeigt
var
i: Integer;
Exists: Boolean;
begin
Exists := False;
for i := 0 to pnlContainer.ControlCount -1 do
begin
if pnlContainer.Controls[i] is TPanel then
begin
(pnlContainer.Controls[i] as TPanel).Visible := (pnlContainer.Controls[i] as TPanel).Tag = Index;
if not Exists then
Exists := (pnlContainer.Controls[i] as TPanel).Visible;
end;
end;
if not Exists then
begin
if Index > 0 then
ShowPanel(Index -1 )
else if Index < 10 then
ShowPanel(Index + 1)
else
ShowPanel(0);
end;
end;
procedure TfrmMain.pnlWelcomeEnter(Sender: TObject); //erstes Panel: Funzt
begin
SetNavigationBar('0', '');
if pnlProjectOptions.Visible then
lblProjectSave.SetFocus
else
lblProjectNew.SetFocus;
srbPages.VertScrollBar.Range := pnlWelcome.Height;
end;
procedure TfrmMain.pnlAppearanceEnter(Sender: TObject); //zweites Panel: Funzt nicht
begin
SetNavigationBar('0;3', '');
radWindowStyleStandard.SetFocus;
srbPages.VertScrollBar.Range := pnlAppearance.Height;
end;
Irgendwelche Ideen?
Ciao,
Andy