C++ 类中封装Win32API的回调函数

一定要把方法声明成为静态方法,这样才能取到函数的地址。

例如:

这样什么回调函数:

static  INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);

在用的时候需要取地址:

this -> hWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_ABOUTBOX), NULL,  & FormatDlg::About);

我所理解的需要静态方法的原因:只有静态方法才能在编译时候取到固定的函数地址,如果是动态的是在运行时产生地址不固定,所以一定要用静态方法。

发布了67 篇原创文章 · 获赞 0 · 访问量 1775

猜你喜欢

转载自blog.csdn.net/format_km/article/details/93031537
今日推荐