MFC中多文檔ActiveX創建子窗口

               最近做了一個ActiveX控件 , 用於同時打開多個文檔. 並提供了一個接口: OpenDocument( filename) 供外部程序調用;

               在應用程序中, 創建一個Dialog的對話框, 並加入了這個ActiveX.  然後啓動一個線程定時掃描文件夾, 並調用OpenDocument接口在ActiveX中打開.  然而, 發現Activex在創建子窗口時, 始終失敗,經過調試發現是SendMessage( ..WM_MDICREATE ..)時創建失敗,初步估計是發送消息後, 無法獲取頂層的父窗口(Dialog)的句柄.

              現在的方案是使用消息機制, 當在線程中掃描到文件時, 加入到一個文件列表中, 併發送一消息. 而在消息處理函數中, 則調用ActiveX的OpenDocument打開文件.

 

             經過討論,覺得有可能是因爲工作線程和GUI線程之間的區別導致的.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章