如題1:如何把一個panel分割成四個小的panle
2:也就是如何加上spliter,分割條,任意調整大小
3、如何有獨立的handle使用多個總共5個為什么呢,你放4個panel 然后放spliter,不行嗎??
放5個不夠,1、先在窗體放一個大的,作為容器,如果直接使用窗體,這個可以省。
2、在大PENEL上放兩個PANEL,一個SPLITER,其中一個align 設為 left (假如名為PanelLeft), 一個設置為Client(名為PanelRight), splier設為left(名為Spliter2)
3、在PanelLeft中再放兩個Panel, 一個Spliter, 一個Align 設為 Top(假設名為PanelLeftTop), 另一個設為Client(PanelLeftBottom), Spliter設為Top)
4、在PanelRight照第三步 (Panel名分別為PanelRightTop,PanelRightBottom, Spliert3)
5、在Spliter2中 OnMove中設置 PanelRightTop.Height := panelLeftTop.Height,在Spliter3中OnMove中設置PanelLeftTop.Height := PanelRightTop.Height , 實現橫向移動時聯動。樓上的,問題解決,如果是很多小窗口,如何去做,如果按這種思路去做就很麻煩了,謝謝..沒人關注哦..........使用4個panel 和3個apliter,3個panel屬性align為ClLeft,剩下的為ClClient四個小窗口問題按levi的方法已解決了!如果是很多個小窗口,這種方法就顯的很笨拙了,有沒有好的方法,像拿鉛筆划分窗口那樣簡單的思路?好像不能象VC那樣設計,只能用這種方法 ,不影響視覺啊。
Delphi窗口分割並動態調節其大小
在Delphi編程中實現窗口分割的關鍵是:
使用Delphi的一個TSplitter組件(在Additional頁中)。假設要把窗口分成左、右兩部分,並且在運行中可以動態調節其相對大小,做法如下:
1.在一個空白的Form中加入Panel1,Align設為alLeft。(也可根據實際情況設為alRight,alBottom或alTop)。
2.在Form1的空白處加入一個Splitter,可以看到它自動處於緊貼Panel1的位置,它的Align屬性的缺省值也是alLeft。如果Panel1的Align為alTop,Splitter也應設為alTop,依此類推。
3.加入Panel2,Align設為alClient。在這里,必須有一個Panel為alClient。運行,把鼠標停在兩個Panel之間,當光標改變成雙向箭頭形狀時拖動它。是不是很好用啊 呵呵 而且代碼都不用自己來寫就可以實現。
Delphi實現容器分隔 隨着Windows95的流行,分隔器控件已成為操作系統的常用部件,它將容器(通常為 窗體或面板)的客戶區域分為可調整大小的若干部分,稱為窗格。我們最常見到的例子就是 Windows95的資源管理器,它使用了一個分隔器控件(也就是在資源管理器中可以用鼠標左 右拖動的豎條)將目錄樹視圖和文件表視圖分隔開,可以由用戶任意調整。Delphi提供了一 個分隔器控件TSplitter來實現這種功能,下面以制作一個簡單的資源管理器為例來介紹設 計步驟: 1.從Standard 標記頁中選擇容器Panel控件,將其放入Form1中,命名為Panel1,並 將其Align屬性設置為alClient。 2.從Win3.1標記頁中選擇DirectoryListBox控件,將其放入容器Panel1中,命名為 DirectoryListBox1,置Align屬性為alLeft,並調整其初始寬度。 3.從Additional標記頁中選擇Splitter控件,放入容器Panel1中,置Align屬性為alLeft, Width屬性為5。 4.再從Win3.1標記頁中選取FileListBox控件放入Panel1中,命名為FileListBox1,置 Align屬性為alClient。 5.最后,將DirectoryListBox1的FileList屬性置為FileListBox1。 現在,按F9運行程序,便會出現一個簡單的資源管理器,設計出的窗體具有隨意調 整窗格大小的能力。在Delphi中實現容器分隔非常簡單,甚至一句程序代碼也不用寫。要 注意的是,封裝了分隔器控件的TSplitter只有在Delphi 3 以上才有,Delphi 2 以下必須編 寫一段程序代碼才能實現此功能。 (江蘇 韓世偉)
http://blog.csdn.net/sushengmiyan/article/details/7404797