我正在使用Kinect开发一个使用FPS计数器的MFC项目。这是一个静态文本。我希望通过一种方法来编辑这个FPS计数器,该方法也负责制作kinect图像。所以在我的主要内容中,我将HWND传递给我的kinect对象,如下所示:
kinect->initialize(this->GetSafeHwnd());
在我的kinect对象中,这个东西被保存了:
this->hwnd = hWnd;
然后这段代码初始化我想要使用的静态文本:
CStatic * MFC_ecFPSCOLOR;
MFC_ecFPSCOLOR = (CStatic *) GetDlgItem(hWnd, TC_FPSCOLOR);
然后我想用它:
MFC_ecFPSCOLOR->SetWindowTextW(L"TEST");
这里出错:
Unhandled exception at 0x54431C19 (mfc110ud.dll) in KinectMain.exe: 0xC0000005: Access violation reading location 0x0031004C.
有人能指出我正确的方向吗?
答案 0 :(得分:3)
您使用了错误版本的GetDlgItem
,它会返回一个句柄,而不是CWnd*
。演员正在隐藏你的错误。