Hi,
tja...ein langer Kampf mit dem Dockingsystem.
Hier mal kurz die Beschreibung der Situation:
Mein Ziel ist es, Formulare an ein TDockingtabset zu docken und auf einem Panel anzuzeigen. Das funktioniert auch soweit. Beim "abdocken" des Formulars verschwindet der dazugehörig Tab auch schön brav und der nächste/vorherige wird selektiert. Auch das funktioniert soweit ganz gut. Als Basis hab ich das Demo-Projekt von Jeremy North verwendet.
Was ich nicht hinbekomme (und was auch im Demo nicht tut) ist, das beim "abdocken" eines Forumlars, das neu selektierte Forumlar auf dem Panel angezeigt wird (natürlich nur sofern noch weitere vorhanden sind). Weiß hier jemand Rat ?
Hier mal der Teil, der das eigentlich machen soll:
Delphi-Quellcode:
procedure TForm3.dtsUnDock(Sender: TObject; Client: TControl;
NewTarget: TWinControl;
var Allow: Boolean);
var
idx : integer;
begin
allow := client
is Tfrwork;
if (allow)
then
begin
idx := dts.IndexOfDockClient(client);
if (idx > 0)
then
begin
dec(idx);
dts.ShowDockClient(dts.DockClients[idx]);
end;
end;
end;
P.S. Für das Teil verwende ich Turbo Delphi (Explorer). Drittkomponenten fallen also weg.