高手求救,dll里面创建无模态对框框的诡异问题
我dll里面创建的无模态对话框A,里面动态创建的控件很诡异,tooltip弹不出来,ccombox下拉框无法弹出,ip地址框是乱的。
dll只有一个创建对话框的接口,里面调用了AFX_MANAGE_STATE(AfxGetStaticModuleState());切换了资源的。
我试着把标准的ccombox换成自绘的combox,但是在创建的时候失败,跟进去,失败在unhook的时候:
BOOL AFXAPI AfxUnhookWindowCreate()
{
_AFX_THREAD_STATE* pThreadState = _afxThreadState.GetData();
#ifndef _AFXDLL
if (afxContextIsDLL && pThreadState->m_hHookOldCbtFilter != NULL)
{
::UnhookWindowsHookEx(pThreadState->m_hHookOldCbtFilter);
pThreadState->m_hHookOldCbtFilter = NULL;
}
#endif
if (pThreadState->m_pWndInit != NULL)
{
pThreadState->m_pWndInit = NULL; (mfc这里返回了失败,因此怀疑是状态不对)
return FALSE; // was not successfully hooked
}
return TRUE;
}
有没有高手遇到过啊,求解救!!!