日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

delphi Tpagecontrol 动态增加页面

發布時間:2024/10/12 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delphi Tpagecontrol 动态增加页面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


??? 前些日子做一個項目需要用到 Tpagecontrol 這個控件,然而平時使用的時候都是直接在上面增加控件就可以了,可是這次卻是需要動態添加頁面,上網也搜了,對于這方面的知識還真是沒見到多少,也許是我搜索的方法有問題吧,千辛萬苦也就找到了一下3種方法,如果要認真將的話,也只能算是2種吧,今天分享出來,希望能為要用到這個功能,又不會的人減少些時間吧。


??? 第一種方法:


procedure PageAddForm(aPage:TRZpageControl;aForm:TForm;TaFormClass:TClass); beginapplication.CreateForm(TComponent(TaFormClass),aForm);aForm.MaualDock(aPage)); //融合至pageControl,aForm.Visible:=true; //這個比用 show效果更好aPage.ActivePageindex:=aPage.PageCount-1; end;也可以用aForm.MaualDock 可以用setparent;

????????????????????? 這個方法比較簡單,直接可以使用這個函數,里面的aForm 和 TaFormClass 是新建的窗口,然而這個方法卻一直有個問題,就是窗口創建出來后,有一個停靠的過程,雖然時間很短,然而總是影響美觀的。


第二種方法:

????? 這個方法比較復雜,然而應該就是創建動態方法的正確方法了。

procedure createTabPage(PageControl:TPageControl;form:TForm) varnewpage:TTabSheet; beginnewpage:=TTabSheet.create(PageControl); //在PageControl 上創建TTabSheet控件newpage.caption:=form.caption;newpage.PageControl:=PageControl; //按我的理解是設定newpage 的父控件PageControl.ActivePage:=newpage; //吧newpage設定為活動頁//到這里頁面已經動態創建成功了,然而這還沒有達到我們需要的功能,我們是需要在上面添加控件的form:=TForm.create(newpage);Form.FormStyle := fsNormal;Form.BorderStyle := bsNone;Form.Parent := vSheet;Form.Align := alClient;Form.Show;end
第三中方法就不貼了,基本上是上面的進行改造的


總結

以上是生活随笔為你收集整理的delphi Tpagecontrol 动态增加页面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。