在MDI移植到ActiveX后,會將mainframe的樣式改為child,這樣,用VS提供的容器加載不會有錯,但是用IE,就會產生創建無模對話框時報錯。比如拖動面板時,移動下一個地方,會有一個臨時的面板來顯示即將停靠的地方,在創建這個面板的時候就會報錯。又或者關閉了,再創建,tipbutton就會無回應,而自己創建一個本地對話框,對話框內加載一個web控制元件,再將MDI的控制元件所在網頁拖拽進去也不會報錯。錯誤提示,用spy查找,會在創建無模對話框時查找owner視窗,在IE會找到alternate owner視窗,而不是mainframe,就這樣,就報錯了。求解決。
uj5u.com熱心網友回復:
求關注啊,求大神來解決uj5u.com熱心網友回復:
百度搜相關關鍵字。uj5u.com熱心網友回復:
搜了,有篇英文的文章說,在Windows中,child風格視窗不能是owner視窗,而在創建無模對話框時,好些會從當前行程的視窗表中選擇帶有popup和overlap風格視窗的作為owner視窗,當ActiveX的mdi移植在IE時,本身就是child風格了,所以,他會找到IE的tab行程中的一個aternate owner視窗,這是一個無尺寸的視窗,不符合要求 。而正常創建時,需要查詢到當前的Mainframe,這就報錯了。最后提示是錯誤的引數資訊,因為當找不到mainframe時,MFC會將引數置為空,所以就提示錯誤的引數。求大神幫助,急求uj5u.com熱心網友回復:
求大神關注。。。。uj5u.com熱心網友回復:
http://www.360doc.com/content/13/0605/18/2036337_290724417.shtmluj5u.com熱心網友回復:
道理上講,需要的是owner的hwnd罷了,你在mainfrm起來的時候獲取下行程表單的hwnd賦個變數,最后給對話框看看行不行轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/93933.html
下一篇:MFC串列控制元件滾動條問題
