delphi如何加上spliter分割條,任意調整大小


如題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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM