delphi6下開發出的軟體 有時候彈出的視窗或者對話框會藏在老視窗(主界面)下面 導致滑鼠點不動造成假死狀態!
偶發性,不會經常出現!
運氣不好,一天出現幾次。
運氣好,一般不會發生。。
大神們,有什么好辦法可以避免這個問題么?
uj5u.com熱心網友回復:
如果代碼通用的話,只能升級為XE版uj5u.com熱心網友回復:
MessageBox的視窗句柄沒設定好,比如直接給個0做視窗句柄,的確會發生這樣的事情,用MessageDlg一般不會出現,但按鈕需要漢化,指定的內容也相對多一點.uj5u.com熱心網友回復:
以前也碰到過這個問題,后來大神ccrun給了個辦法,解決了。大神說 一般情況下模態視窗被隱藏在其他視窗后面,是視窗的Z-Order問題
可以這樣寫
void __fastcall TForm_Main::Btn_PosCtrlClick(TObject *Sender)
{
TFormStyle fs = FormStyle;
FormStyle = fsNormal;
Form_PosCtrl = new TForm_PosCtrl(this);
Form_PosCtrl->ShowModal();
delete Form_PosCtrl;
FormStyle = fs;
}
C++代碼,供參考
uj5u.com熱心網友回復:
XP就沒問題了 win7以上都會出現這個問題 我估計可能是電腦系統方面有什么地方要設定下
uj5u.com熱心網友回復:
、、XP下就沒有這種問題了 只有win7以上才有
uj5u.com熱心網友回復:
對了 我MessageBox做過當前視窗句柄了 當前視窗句柄 還是會發生
代碼如下:MessageBox(self.Handle,'XXXXXXXXXXXXXXXXXX','提示(Tips)',MB_OK);
uj5u.com熱心網友回復:
Messagebox用application的句柄試試轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/44326.html
標籤:語言基礎/算法/系統設計
