Dockowanie na TPanel

wcizmowski
  • Rejestracja: dni
  • Ostatnio: dni
0

witam,
otóż obsługuję dockowanie formy na TPanel
i wszystko jest ok, bez problemu,
ale:

  • po zadokowaniu forma nie ma Caption...
    znacie jakiś trick aby Caption był widoczny?
PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 442
0
Kopiuj
windows.SetParent(form2.Handle,panel1.Handle) ;//coś jak to ?
wcizmowski
  • Rejestracja: dni
  • Ostatnio: dni
0

witam,
niestety, SetParent nie pomogło...
może macie jeszcze jakies propozycje?
poza tym ja mam wrażenie, że Parent jest ustawiany jakos
z automatu przy dockowaniu.
samego docka robię trochę ręcznie:

Kopiuj
procedure TMainForm.pnlLeftDockDockDrop(Sender: TObject; Source: TDragDockObject; X,
  Y: Integer);
begin
  Source.Control.ManualDock( pagLeftDockContainer, nil, alBottom ) ;

a Caption niewidoczny...

PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 442
0

po zadokowaniu prosisz o podanie paska a więc w formatce którą dokujesz ustaw :

Kopiuj
procedure TForm2.FormEndDock(Sender, Target: TObject; X, Y: Integer);
begin
borderStyle:=BsSizeAble;
end;

bez Set Parent :)

wcizmowski
  • Rejestracja: dni
  • Ostatnio: dni
0

hej,
ano zrobiłem tak i dalej nic.

tutaj jest screenshot:
tam gdzie są kropeczki powinien być Caption formy.
user image

PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 442
0

hmm dziwne ja mam dokowanie z automata i efekt jest taki :

user image

panel
DragKind = DkDock;
drag Mode =Manual ;
dockSite = True;

forma
DragKind =Dkdock;
drag Mode =Automatic ;</url>

wcizmowski
  • Rejestracja: dni
  • Ostatnio: dni
0

hej,
być może wersja Delphi ma znaczenie przy dokowaniu, ja mam Delphi 2007...

a ustawienia mam identyczne ustawienia i efekt:
user image

załamka po prostu, bez belki Caption kompletnie

PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 442
0

hmmm "rzuć" kodem moze : piotrekdp@wp.pl cos pokombinuje i odeśle .

wcizmowski
  • Rejestracja: dni
  • Ostatnio: dni
0

hej,
Piotrek wstępnie problem rozwiązał,
na formie dokowanej:

Kopiuj
procedure TToolForm1.FormEndDock(Sender, Target: TObject; X, Y: Integer);
begin
  ToolForm1.BorderStyle := bsSizeable ;
end;

pozostaje inny problem: jak zapamiętać dokowanie
i przy następnym uruchomieniu odtworzyć....
jakiś pomysł? może przez stream ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.