这可能吗例如,假设我有以下内容:
class Window {
private:
WNDCLASSEX wc;
public:
inline WNDCLASSEX getWindowClass() {
return wc;
}
Window();
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, LPARAM lParam, WPARAM wParam);
}
void RegisterWindow(Window win) {
WNDCLASSEX* wc = win.getWindowClass();
RegisterClassEx(wc);
}
字符串
现在,在某个地方会有一个部分(可能在Window
类的构造函数中,在那里需要为WNDCLASSEX
分配WndProc
,这在Window
类中有记录。唯一的问题是,因为它是类的一部分,所以会引发错误。因此,这是如何实现的?它是静态的吗?即便如此,如果类 Package 了它,它在某种程度上仍然是类的一部分。如果我在类之外创建它,那就简单地抹杀了这一点。
2条答案
按热度按时间yeotifhr1#
您将
this
指针作为GWLP_USERDATA
传递给SetWindowLongPtr
,这实际上允许您简单地将自由函数转发给成员函数。t9eec4r02#
This page的微软官方文档显示了这样的类:
字符串