先按按钮A运行循环...
但这时按钮B是按不了的了...因为两按扭都在同一主线程下排队执行.
所以我用
bool bb;
void CDLG::clickA()
{
bb=false;
AfxBeginThread(funa);
}void CDLG::clickB()
{
bb=true;
}UNIT CDLG::funa(PLVOID p)
{ while(!bb)
...
}
//////////////////////////////////////我将funa声明为对话框的成员函数,因为我需要引用里面很多数据但提示编译错误:
error C3867: ..: function call missing argument list; use '&CDlg::funa' to create a pointer to member
但这时按钮B是按不了的了...因为两按扭都在同一主线程下排队执行.
所以我用
bool bb;
void CDLG::clickA()
{
bb=false;
AfxBeginThread(funa);
}void CDLG::clickB()
{
bb=true;
}UNIT CDLG::funa(PLVOID p)
{ while(!bb)
...
}
//////////////////////////////////////我将funa声明为对话框的成员函数,因为我需要引用里面很多数据但提示编译错误:
error C3867: ..: function call missing argument list; use '&CDlg::funa' to create a pointer to member
其实我想将.按钮B函数.定义为一个事件那就最好了...
其实我本来没有写funa()的.,我是直接把所有内容都写在clickA()中的...
AfxBeginThread(funa,hwnd,THREAD_PRIORITY_NORMAL);都是不行的
因为这个对话框我只生成了一个
通过p把CDLG的this指针传递进去,这样funa中可以用p来访问对话框的成员变量
funa(LPLVOID p)
{
CDLG*(p)=this;//???这样吗?
... //这样的话下面每个变量前都要用p->
//??
//涵数里面可不可以用using namespace ..之类?
//记得java可以那样省略发.C++可以吗? }
static UNIT CDLG::funa(PLVOID p);
错出我之前都试过这样出错
class CDLG public CDialog
{
static vectro<int> va;
...
static UNIT fun(PLVOID);
}
//////////但为什么~我在
static UNIT funa(PLVOID p)
{
...
中引用的对话框静态数据会出错?
va.push(1);//提示va没声明;就算用
p->va.push(1);//提示.push()必要要有结构体..
}
///////????