gpt4 book ai didi

c++ - 没有 wndproc 的窗口

转载 作者:可可西里 更新时间:2023-11-01 10:53:46 25 4
gpt4 key购买 nike

我很好奇是否可以在不使用 WndProc 的情况下创建窗口。

所以我想注册窗口类,并将 lpfnWndProc 字段设置为 NULL;并以我自己的方式使用消息(由 TranslateMessage(&msg) 给出)。

这样做有什么缺点吗?

先谢谢,对不起我的语法错误。

编辑 #1:好的,我有一个窗口,但我在某个地方错了。

 MSG msg;
while(PeekMessage(&msg,NULL,NULL,NULL,PM_REMOVE)) {
if (msg.message == WM_QUIT) return false;
else {
TranslateMessage(&msg);
switch (msg.message) {
case WM_CREATE:
createContext();
break;
default:
DispatchMessage(&msg);
break;
}
}
}
return true;

createContext 没有被调用。为什么?我哪里错了?是的,也许 WM_CREATE 消息要发送到 WndProc(现在是 DefWindowProc),但是有什么办法可以从 WndProc 中获取它吗?

最佳答案

AFAIK,您不能将其设置为 NULL。但是,您会注意到 DefWindowProc的签名匹配 WindowProc回调的签名。如果您想要一个合理的默认值,只需给它DefWindowProc

关于c++ - 没有 wndproc 的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4962379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com