一个代码中出错的地方,我不知道怎么改啊,请大家帮忙

iloveweifang 2009-01-31 12:20:12
void _WinMain::CreateWindowAndMsgCycle(char *WindowName,HMENU hmenu)
{
RtlZeroMemory(&wndclass,sizeof wndclass);
wndclass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wndclass.lpszClassName="my class";
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=_WndProc;    //这里错了
wndclass.hInstance=hinstance;
RegisterClass(&wndclass);
hwnd=CreateWindowEx(WS_EX_OVERLAPPEDWINDOW,"my class",WindowName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,0,hmenu,hinstance,0);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
while(GetMessage(&msg,0,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULT CALLBACK _WinMain::_WndProc(HWND _hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
switch(msg)
{
case WM_CREATE:
return 0;
case WM_RBUTTONDOWN:
Beep(1000,500);
return 0;
case WM_CLOSE:
DestroyWindow(_hwnd);
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hwnd,msg,wparam,lparam);
}
}
我不知道对出错的的怎么修改,就能编译通过
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
waizqfor 2009-01-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 arong1234 的回复:]
成员函数有个隐含的this指针参数,因此函数原型不是你所见到的哪个样子
WinProc需要是全局函数,不能是类成员函数
如果一定要是类成员,必须是static
[/Quote]
UP
iloveweifang 2009-01-31
  • 打赏
  • 举报
回复
谢谢一楼的朋友,你说的太对了
arong1234 2009-01-31
  • 打赏
  • 举报
回复
不是告诉你原因了?怎么还是“不知道什么原因”?
[Quote=引用 2 楼 iloveweifang 的回复:]
我是想建立窗口的程序和窗口过程用一个类封装起来,这样以后使用起来也比较方便一些,没想到出错,真郁闷
提示错误:
error C2440: '=' : cannot convert from 'long (__stdcall _WinMain::*)(struct HWND__ *,unsigned int,unsigned int,long)' to 'long (__stdcall *)(struct HWND__ *,unsigned in
不知道什么原因啊
[/Quote]
iloveweifang 2009-01-31
  • 打赏
  • 举报
回复
我是想建立窗口的程序和窗口过程用一个类封装起来,这样以后使用起来也比较方便一些,没想到出错,真郁闷
提示错误:
error C2440: '=' : cannot convert from 'long (__stdcall _WinMain::*)(struct HWND__ *,unsigned int,unsigned int,long)' to 'long (__stdcall *)(struct HWND__ *,unsigned in
不知道什么原因啊
arong1234 2009-01-31
  • 打赏
  • 举报
回复
成员函数有个隐含的this指针参数,因此函数原型不是你所见到的哪个样子
WinProc需要是全局函数,不能是类成员函数
如果一定要是类成员,必须是static

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧