首页
社区
课程
招聘
[旧帖] [求助]谁能告诉我咋错了 0.00雪花
发表于: 2015-7-15 08:36 1719

[旧帖] [求助]谁能告诉我咋错了 0.00雪花

2015-7-15 08:36
1719
void CFirstDlg::OnBnClickedOk()
{
        ::EnumChildWindows(this ->m_hWnd,CFirstDlg::EnumChildWindowProc,0);
        //CDialogEx::OnOK();
}

BOOL  CFirstDlg::EnumChildWindowProc(HWND hWnd, LPARAM lParam)
{
        char cs[30];
        ::GetWindowTextA(hWnd,cs,30);
        CString str,str0;
        str.Format(L"%s\n",cs);
        GetDlgItemText(IDC_EDIT1,str0);
        str = str+str0;
        SetDlgItemText(IDC_EDIT1,str);
        return 1;
}
>c:\users\administrator\documents\visual studio 2010\projects\first\first\firstdlg.cpp(159): error C3867: “CFirstDlg::EnumChildWindowProc”: 函数调用缺少参数列表;请使用“&CFirstDlg::EnumChildWindowProc”创建指向成员的指针

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有两种方法,一种是把EnumChildWindowProc定义为非成员函数(为什么要定义成员函数呢?回调函数CFirstDlg::EnumChildWindowProc如何被调用呢?想想平时怎么调用类的非静态成员函数?),
2015-7-17 00:19
0
雪    币: 9941
活跃值: (2143)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
错误提示的已经很明显了 , 不要 指向成员的指针

EnumChildWindows 的第二个参数要是个函数地址


BOOL CALLBACK EnumChildProc(HWND hwndChild,LPARAM lParam)
{
TCHAR szWndTitle[1024];
int nLen = GetWindowText(hwndChild,szWndTitle,1024);
if(nLen)
{
AfxMessageBox(szWndTitle);
}
return TRUE;
}

void test()
{
CString strWindwoName="DemoForm";
HWND hNMMainWnd = FindWindowEx(NULL,NULL,NULL,strWindwoName);
EnumChildWindows(hNMMainWnd,EnumChildProc,NULL);
}
2015-7-17 01:07
0
游客
登录 | 注册 方可回帖
返回
//