gpt4 book ai didi

C++ Win32 API 控制消息

转载 作者:搜寻专家 更新时间:2023-10-31 01:23:17 25 4
gpt4 key购买 nike

我从 Win32 api 开始,我用流畅的代码向我的主窗口添加了一个按钮控件:


HWND boton = CreateWindow(
"BUTTON", //
"Caption", //
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, // Styles.
250, // x position.
10, // y position.
100, // Button width.
40, // Button height.
hwnd, // Parent window.
NULL, // No menu.
(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE),
NULL); // Pointer not needed.

我如何为它分配一个 id,这样我就可以在循环中获取消息,在消息循环中,我试图将消息捕获为 WM_COMMAND,但我也没有得到任何结果,我也尝试过使用 WM_NOTIFY。

最佳答案

要为其分配一个 ID,您必须使用 hMenu 参数。如果您指定窗口将是一个子窗口(即使用 WS_CHILD),则 hMenu 参数将被解释为窗口的整数 ID。此外,提供 BS_NOTIFY 样式。


HWND boton = CreateWindow (
"BUTTON",
WS_TAPSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON | BS_NOTIFY,
250, 10, 100, 40,
hwnd,
(HMENU)101, // This becomes the Control ID
(HINSTNACE)GetWindowLong(hwnd,GWL_HINSTANCE),
NULL);

编辑:特别喊叫 Heath Hunnicutt有关 BS_NOTIFY 的信息。

关于C++ Win32 API 控制消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1712753/

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