一定要把方法声明成为静态方法,这样才能取到函数的地址。
例如:
这样什么回调函数:
static INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
在用的时候需要取地址:
this->hWnd=CreateDialog(hInstance, MAKEINTRESOURCE(IDD_ABOUTBOX), NULL, &FormatDlg::About);
我所理解的需要静态方法的原因:只有静态方法才能在编译时候取到固定的函数地址,如果是动态的是在运行时产生地址不固定,所以一定要用静态方法。