void CExam8Dlg::OnSaveKeywordButton()
{
////
////
////
////
}
void CExam8Dlg::OnStartthreadButton()
{
HANDLE hand=CreateThread(NULL,0,ThreadProc,NULL,0,NULL);
}DWORD WINAPI ThreadProc(LPVOID lpParameter)
{ OnSaveKeywordButton() ;
return 0;
}错误提示 :error C2065: 'OnSaveKeywordButton' : undeclared identifier明明就定义了,我该怎么做才能调用那个函数呢?求教
{
////
////
////
////
}
void CExam8Dlg::OnStartthreadButton()
{
HANDLE hand=CreateThread(NULL,0,ThreadProc,NULL,0,NULL);
}DWORD WINAPI ThreadProc(LPVOID lpParameter)
{ OnSaveKeywordButton() ;
return 0;
}错误提示 :error C2065: 'OnSaveKeywordButton' : undeclared identifier明明就定义了,我该怎么做才能调用那个函数呢?求教
解决方案 »
- Codejock Xtreme Toolkit/Suite Pro v15.3.1
- 求用VC++实战写小程序的教程?
- 如何才能程序A向程序B的Edit控件写数据
- 好像工具栏按钮必须依附于一个菜单项发生事件响应?能否不依附于菜单项,独立响应事件?how
- 请教,VC++编写DLL
- 请问哪里可以下《UNIX网络编程》(1、2卷)(北京科海电子出版社)
- LOGFONT字体结构问题
- 为什么枚举所有进程却会得到这样的结果????如何用进程句柄得到进程名???
- 关于点对点的传输
- Recv接收数据时,为什么会接收到相同的数据
- 关于程序调用并显示的问题,急!!!
- [多媒体]书上的例子,为什么运行起来以后录音然后保存文件不见了?谢谢~
你的情况最好用消息发送给对话框
{
HWND hWnd = (HWND)lpParam;
SendMessage(hWnd, UM_MESSAGE, 0, 0);
return 0;
}afx_msg LRESULT OnMessage(WPARAM wParam, LPARAM lParam);ON_MESSAGE(UM_MESSAGE, &CXXXDlg::OnMessage)LRESULT CXXXDlg::OnMessage(WPARAM wParam, LPARAM lParam)
{
OnSaveKeywordButton();
return 0;
}
{
CExam8Dlg *pDlg = (CExam8Dlg*)lpParameter;
pDlg->OnSaveKeywordButton() ;
return 0;
}
{中的参数,可以把当前窗口类的指针传进来,CExam8Dlg *pDlg = (CExam8Dlg*)lpParameter;
pDlg->OnSaveKeywordButton() ;就如这种方式,就可以用到类成员函数了。
线程函数是你那个类的静态函数。不属于具体对象,所以你得把对象的指针传过去。
线程函数都有一个LPVOID类型的参数,可以把Dialog的指针传过来。你的OnSaveKeywordButton是Public的吗?
OnSaveKeywordButton' : cannot access protected member declared in class 'CExam8Dlg'
h:\microsoft visual studio\myprojects\exam8\exam8dlg.h(54) : see declaration of 'OnSaveKeywordButton'怎么办?救救我啊
{
HANDLE hand=CreateThread(NULL,0,ThreadProc,this,0,NULL);
}
我还想请问 这里的 this 是什么意思?
就是这个类本身大哥,你不会连C++的基本知识都甚是缺乏吧?