如何執行IDE方法或最終在沒有可停靠窗體的非常慢的凍結運動的情況下製作基本的停靠方法?如何在沒有可停靠窗體非常緩慢的凍結運動的情況下製作像IDE這樣的可停靠窗體?
當我用Google搜索在Delphi停靠形式,發現a post by Zibadian on Programmers Heaven:
第一關:在Delphi的IDE中的窗戶都沒有MDI的形式,由SDI形式。
現在創建一個可停靠的窗口。
Form2將是可停靠的,Form1將是停靠它的地方。在Form1上放置一個控件(如TPanel)來爲DockSite服務。確保爲該控件設置DockSite和UseDockManager屬性爲true。
對於Form2將DragKind設置爲dkDrop,將DragMode設置爲dmAutomatic並將UseDockManager設置爲true。
這是基本的碼頭功能。如果您運行程序,顯示Form2並將該窗體拖到碼頭上,它應該停靠在該站點上。你甚至可以通過抓住IDE中看到的「標題」來取消它。
對我來說,該方法非常緩慢地移動可停靠窗體。然而,Zibadian的回答繼續描述IDE如何代替它:
IDE的dock方法稍微複雜一些,因爲您沒有看到docksite。我認爲,您需要編寫一個Form1.OnDockOver或Form1.OnDockDrop來執行該操作。那些(那些)事件需要在適當的位置顯示碼頭位置。
您使用的是哪個版本的Delphi?在最近的版本中有一個用於此目的的ScreenSnap屬性 – BlackTigerX 2009-08-13 22:32:43
Delphi 2009 Update 1-2-3-4。 – 2009-08-13 22:33:59