几何尺寸与公差论坛

 找回密码
 注册
查看: 6364|回复: 2

【转帖】DLL中创建带有属性页的对话框Bug?

[复制链接]
发表于 2007-12-22 23:02:41 | 显示全部楼层 |阅读模式
int   StartPageDia(CDialog   **   pDialog,BOOL   bIsModal,HWND   hWndParent,UINT   msgToParent,PBYTE   buf   )
{
        AFX_MANAGE_STATE(AfxGetStaticModuleState());
        static   CProperDia   *   pDia   =   NULL;
        if   (   pDia   ==   NULL)
        {
                pDia   =   new   CProperDia;
                pDia-> Create(   CProperDia::IDD,CWnd::FromHandle(hWndParent)   );
                *pDialog   =pDia;
        }
        return   0;
}         
DLL中引出此函数,创建具有属性页的对话框,当点击属性页中的对话框子控件,然后点击其他窗口,属性页丢失焦点,导致对话框总是在不断的发出接收WM_GETDLGCODE消息,出现死循环,那位大侠能伸出援手,百分求助,急等!
static   CDiaSheet   *   m_dlgPropertySheet   =NULL;
void   CProperDia::InitSheet()
{
        CRect   rcsheet;
        GetDlgItem(IDC_FRAME)-> GetWindowRect(&rcsheet);
        ScreenToClient(&rcsheet);
            if   (   NULL   ==   m_dlgPropertySheet)
        {
                m_dlgPropertySheet
                        =   new   CDiaSheet( "Simple   PropertySheet ");
                ASSERT(m_dlgPropertySheet);
                    //   Add   two   pages   to   the   CPropertySheet   object.   Both   m_stylePage   and
                    CPropertyPage   *m_stylePage   =   new   CPage1;
                m_stylePage-> Create(   CPage1::IDD,m_dlgPropertySheet);
                m_dlgPropertySheet-> AddPage(m_stylePage);
   m_dlgPropertySheet-> Create(this,   WS_CHILD     &brvbarWS_VISIBLE       ,   0);   //NULL   !=m_hParentWnd   ?   CWnd::FromHandle(m_hParentWnd)   :   
                    m_dlgPropertySheet-> MoveWindow(   &rcsheet);
        }
}
 楼主| 发表于 2007-12-22 23:04:12 | 显示全部楼层

回复: 【转帖】DLL中创建带有属性页的对话框Bug?

OnSetActive,   OnKillFocus   直接返回
 楼主| 发表于 2007-12-22 23:04:24 | 显示全部楼层

回复: 【转帖】DLL中创建带有属性页的对话框Bug?

这是MFC的一个已知的bug,   
http://support.microsoft.com/kb/149501/en-us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-5-13 21:27 , Processed in 0.037776 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表