我想line
从另一个线程更新变量并将其绘制在 void 中CMFCApplicationUpdateUIView::OnDraw(CDC* pDC)
。
我有两个问题:
第一的:
'CMFCApplicationUpdateUIDoc::Thread_no_1':非标准语法;使用 '&' 创建指向成员的指针
第二:
如何正确更新line
?Thread_no_1
我需要使用 PostMessageW 什么?或者?
MFCApplicationUpdateUIDoc.h
class CMFCApplicationUpdateUIDoc : public CDocument
{
public:
virtual ~CMFCApplicationUpdateUIDoc();
void StartCount();
DWORD Thread_no_1(LPVOID lpParam);
};
MFCApplicationUpdateUIDoc.cpp
void CMFCApplicationUpdateUIDoc::StartCount()
{
int Data_Of_Thread_1 = 1;
HANDLE Handle_Of_Thread_1 = 0;
Handle_Of_Thread_1 = CreateThread(NULL, 0, CMFCApplicationUpdateUIDoc::Thread_no_1, &Data_Of_Thread_1, 0, NULL);
if (Handle_Of_Thread_1 == NULL)
ExitProcess(Data_Of_Thread_1);
}
DWORD CMFCApplicationUpdateUIDoc::Thread_no_1(LPVOID lpParam)
{
int Data = 0;
int count = 0;
HANDLE hStdout = NULL;
if ((hStdout = GetStdHandle(STD_OUTPUT_HANDLE))== INVALID_HANDLE_VALUE)
return 1;
Data = *((int*)lpParam);
for (count = 0; count <= 4; count++)
{
line = count;
}
return 0;
}
MFCApplicationUpdateUIView.cpp
void CMFCApplicationUpdateUIView::OnDraw(CDC* pDC)
{
CMFCApplicationUpdateUIDoc* pDoc = GetDocument();
pDoc->StartCount();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
CString str;
str.Format(L"%d", pDoc->line);
pDC->TextOutW(0, 0, str);
}