Delphi中停靠技术的实现
True,当然我们的LeftDockPanel应该是可以改变大小的,所以在它右边再放一个TSplitter,取名为LeftSplitter,Align属性为alLeft。接下来就是停靠控件了,一般的程序停靠控件都是窗体,所以我们也建一个窗体,取名叫DockableForm,DragKind属性设成dkDock,DragMode属性设为dmAutomatic(自动停靠)。
现在我们可以运行这个程序了,什么?效果不好?停靠的窗体停靠停靠进去后就不见了! 哦,我差点忘了,当停靠窗体停靠时Delphi会产生一些事件,他们分别是 1.OnDockOver(Sender: TObject; Source: TDragDockObject; X, Y: Integer; State: TDragState; var Accept: Boolean); 2.OnDockDrop(Sender: TObject; Source: TDragDockObject; X, Y: Integer); 3.OnGetSiteInfo(Sender: TObject; DockClient: TControl; var InfluenceRect: TRect; MousePos: TPoint; var CanDock: Boolean); 4.OnStartDock(Sender: TObject; var DragObject: TDragDockObject); 5.OnEndDock(Sender, Target: TObject; X, Y: Integer); 6.OnUnDock(Sender: TObject; Client: TControl; 更多相关文章
|
推荐文章
精彩文章
|