要用到AfxBeginThread(threadproc,.....),函数threadproc()必须为静态函数,我使用这个函数需要调用 如下静态成员
但是我只能在 .cpp文件外部初始化为空。请问应该在哪给他们赋上后面的值,还是我的思路有问题。
pStc=(CStatic *)GetDlgItem(IDC_STATIC);
pStc->GetClientRect(&rect);
pDC=pStc->GetDC();
hDC=pDC->GetSafeHdc();
capture1=cvCreateFileCapture("。。。。");
不要试图在静态函数中访问控件,最好是发消息到窗口,然后在此消息后处理中访问控件。
PostMessage发送消息给主线程,然后由主线程来更新窗口控件
AfxBeginThread创建线程的时候可以将窗口的句柄HWND作为线程函数的参数传递给线程,线程处理完必要的事情以后需要通知窗口刷新,可以通过SendMessage/PostMessage发送自定义消息到UI线程,在UI线程的自定义消息响应函数中去更新控件信息。