情況是這樣的,通過C++Builder XE新建一個VCL Forms Application,默認為Form1,然后再新建一個Form,默認為Form2,
在Form1上添加一個按鈕用于呼叫Form2,Form1和Form2的FormStyle屬性都是fsNormal,為什么每次呼叫Form2時,表單總是在Form1之前,就算我單擊Form1使得Form1稱為活動表單,但是依然在Form2下面,哪位高手幫忙解釋下,謝謝!
uj5u.com熱心網友回復:
自己頂!補充說明,我的用意是想單擊主表單時主表單置頂,單擊子表單時子表單置頂
uj5u.com熱心網友回復:
你用Form2.ShowModal 了吧,改成Form2.Showuj5u.com熱心網友回復:
不是,就是使用Form2.Show();如下圖所示
uj5u.com熱心網友回復:
估計是你把form2的style設定成置頂了,點中form2,在Object Inspector中把FormStyle改成fsNormal就可以了。uj5u.com熱心網友回復:
剛試了下,的確有樓主的情況。但是,在Form1上,兩個按鈕,分別Show出Form2和Form3,就可以實作點擊Form2就Form2置頂,點擊Form3就Form3置頂。
應該是Form1被默認為主表單了吧~~
uj5u.com熱心網友回復:
用Delphi試不會這樣呀,你試試自己Create Form2會怎樣,不用編譯器自動創建Form2uj5u.com熱心網友回復:
@早打大打打核戰爭 :FormStyle屬性都置為fsNormal的uj5u.com熱心網友回復:
@hongss :我手頭上有一個別人開發的project,里面有一個主表單,很多個子表單,通過主表單將子表單都呼叫出來后,單擊任何一個表單都會使得其置頂,而且code里面并沒有額外添加做置頂的處理,所以我就比較納悶,這個是如何實作的,比對了表單的屬性設定,都一樣.uj5u.com熱心網友回復:
為什么不用MDI表單?主表單FormStyle設定成fsMDIForm,其他子表單設定成fsMDIChilduj5u.com熱心網友回復:
我手頭上有一個別人開發的project,里面有一個主表單,很多個子表單,通過主表單將子表單都呼叫出來后,單擊任何一個表單都會使得其置頂,而且code里面并沒有額外添加做置頂的處理,所以我就比較納悶,這個是如何實作的,比對了表單的屬性設定,都一樣.————————
看看代碼中有無CreateParams函式。
uj5u.com熱心網友回復:
視窗的FormStyle屬性都置fsNormal。這樣,呼叫或點擊,任何一個表單,它都是前置。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/44320.html
標籤:VCL組件開發及應用
上一篇:delphi xe 10 安卓 監聽來電去電存在一些機型監聽不到,尋求解決辦法
下一篇:Delphi5無法安裝問題
