CParentDlg p=(CParentDlg *)dlg;//我看出你是想复制出一份父窗口类,我想这样是不行的(与mfc的内部机制有关,怎可能连数据都过来,ddx如何工作)。
建议:1,如果数据很多,且大:
在父类中做一个SaveTo(内存)
在其它需要的地方加一个LoadFrom(内存)函数
2,如果数据不多不大:
直接用指针取数据:
CWnd *dlg=this->GetParent();
然后 CParentDlg* p=(CParentDlg *)dlg;
int result;
result=p->Data1;
---------------------------------------------------------------------------------------------------------------------------------------------------------
HWND glhTargetWnd=pMouseHook->hwnd; //已知
//取目标窗口句柄
HWND ParentWnd=glhTargetWnd;
while(ParentWnd !=NULL)
{
glhTargetWnd=ParentWnd; //取应用程序主窗口句柄
ParentWnd=GetParent(glhTargetWnd);
}
if(glhTargetWnd!=glhPrevTarWnd)
{
char szCaption[100];
//取目标窗口标题
GetWindowText(glhTargetWnd,szCaption,100);
---------------------------------------------------------------------------------------------------------------------------------------------------------
父窗口是主窗口的话可以这样:
CXXXXDlg* pDlg;
pDlg = (CXXXXDlg*)AfxGetMainWnd();
pDlg->m_sTemp = "Hello";