在视图类的源文件里定义了几个全局的HANDLE hThread1=NULL;
然后在鼠标右键里响应HWND hWnd=GetSafeHwnd();
hThread1=AfxBeginThread(ExecutingFunction1,hWnd);
CloseHandle(hThread1);
可是在入口函数里一调用窗口类的函数就出错,请问怎么解决
UINT ExecutingFunction1(LPVOID pParam)
{
// CResMaView * pDlg = (CResMaView *)pParam;
// pDlg->PasteFile();
// CResMaView *DlgPtr=(CResMaView*)AfxGetMainWnd();
// pDlg->PasteFile();
return 0;
}
上面我注掉的部分是我尝试过的方法
8 个解决方案
#1
传this指针进去,然后再DLG中调用你的菜单函数
#2
怎么传 请详细点说
#3
我后来试着把入口函数定义为窗口类的成员函数static UINT ExecutingFunction1(LPVOID pParam);
可是一调用其他函数还是出错
UINT CResMaView::ExecutingFunction1(LPVOID pParam)
{
CResMaView * pDlg = (CResMaView *)pParam;
pDlg->PasteFile();
return 0;
}
这个怎么解决
和最开始的方法两种方法能解决一个就行
可是一调用其他函数还是出错
UINT CResMaView::ExecutingFunction1(LPVOID pParam)
{
CResMaView * pDlg = (CResMaView *)pParam;
pDlg->PasteFile();
return 0;
}
这个怎么解决
和最开始的方法两种方法能解决一个就行
#4
MD,校长你个西瓜,说好的卖西瓜发财就带我们去玩的呀,你居然发财了就潜水了,我RI
#5
AfxBeginThread(ExecutingFunction1,
hWnd);
传 hWnd 就要 按 hWnd 处理
CResMaView * pDlg = (CResMaView *) pParam;
这个hWnd 不是 CResMaView ,需要 FromHandle
传 hWnd 就要 按 hWnd 处理
CResMaView * pDlg = (CResMaView *) pParam;
这个hWnd 不是 CResMaView ,需要 FromHandle
#6
请具体点说怎么改 我是新手
#7
试试:
CResMaView * pDlg = (CResMaView *)CWnd::FromHandle((HWND)pParam);
CResMaView * pDlg = (CResMaView *)CWnd::FromHandle((HWND)pParam);
#8
很感谢 解决了 我在AfxBeginThread(ExecutingFunction1,this);里直接传this指针就可以了
#1
传this指针进去,然后再DLG中调用你的菜单函数
#2
怎么传 请详细点说
#3
我后来试着把入口函数定义为窗口类的成员函数static UINT ExecutingFunction1(LPVOID pParam);
可是一调用其他函数还是出错
UINT CResMaView::ExecutingFunction1(LPVOID pParam)
{
CResMaView * pDlg = (CResMaView *)pParam;
pDlg->PasteFile();
return 0;
}
这个怎么解决
和最开始的方法两种方法能解决一个就行
可是一调用其他函数还是出错
UINT CResMaView::ExecutingFunction1(LPVOID pParam)
{
CResMaView * pDlg = (CResMaView *)pParam;
pDlg->PasteFile();
return 0;
}
这个怎么解决
和最开始的方法两种方法能解决一个就行
#4
MD,校长你个西瓜,说好的卖西瓜发财就带我们去玩的呀,你居然发财了就潜水了,我RI
#5
AfxBeginThread(ExecutingFunction1,
hWnd);
传 hWnd 就要 按 hWnd 处理
CResMaView * pDlg = (CResMaView *) pParam;
这个hWnd 不是 CResMaView ,需要 FromHandle
传 hWnd 就要 按 hWnd 处理
CResMaView * pDlg = (CResMaView *) pParam;
这个hWnd 不是 CResMaView ,需要 FromHandle
#6
请具体点说怎么改 我是新手
#7
试试:
CResMaView * pDlg = (CResMaView *)CWnd::FromHandle((HWND)pParam);
CResMaView * pDlg = (CResMaView *)CWnd::FromHandle((HWND)pParam);
#8
很感谢 解决了 我在AfxBeginThread(ExecutingFunction1,this);里直接传this指针就可以了