[Delphi (Object Pascal)] Delphi中实现panel自动停靠功能 →→→→→进入此内容的聊天室

来自 , 2020-02-18, 写在 Delphi (Object Pascal), 查看 103 次.
URL http://www.code666.cn/view/3946bb00
  1. procedure TfrmMain.pnlLeftUnDock(Sender: TObject; Client: TControl;
  2. NewTarget: TWinControl; var Allow: Boolean);
  3. begin
  4.   if (Sender as TPanel).VisibleDockClientCount = 1 then
  5.   begin
  6.     (Sender as TPanel).Width := 1;
  7.   end;
  8. end;
  9.  
  10. procedure TfrmMain.pnlLeftDockDrop(Sender: TObject;
  11.   Source: TDragDockObject; X, Y: Integer);
  12. begin
  13.   (Sender as TPanel).Width := max(source.Control.UndockWidth,(Sender as TPanel).Width);
  14. end;
  15.  
  16. procedure TfrmMain.pnlLeftDockOver(Sender: TObject;
  17.   Source: TDragDockObject; X, Y: Integer; State: TDragState;
  18.   var Accept: Boolean);
  19. begin
  20.   if State = dsDragEnter then
  21.   begin
  22.     (Sender as TPanel).Width := max(Source.Control.UndockWidth, (Sender as TPanel).Width);
  23.   end
  24.   else
  25.   begin
  26.     if State = dsDragLeave then
  27.     begin
  28.       (Sender as TPanel).Width := 1;
  29.     end;
  30.   end;
  31. end;
  32.  
  33.  
  34. //delphi/6875

回复 "Delphi中实现panel自动停靠功能"

这儿你可以回复上面这条便签

captcha