如何在从主窗口事件处理程序调用后在子窗口中创建按钮
How to create a button in a child window after calling from main window event handler?
我有一个主窗口程序,它在按下O.K后调用子窗口,如下面的代码片段所示。我的问题是如何在这个子窗口中插入一个按钮并编辑字段以将其检索回来?据我所知,对于主窗口,这是通过WinProc完成的。有没有更好的方法可以通过儿童窗口进行操作?
case IDOK:
HINSTANCE hinst;
HWND hWindow;
hinst = (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE);
hWindow = CreateWindow
(
g_szClassName,
TEXT("Configure Maze Properties"),
WS_OVERLAPPEDWINDOW,
200, 100, 300, 228,
hwnd,
0,
hinst,
0
);
您有两种主要的可能性:
-
从您所在的位置开始填充新窗口。只需在
CreateWindowEx()
中传递hWindow
作为父窗口,而不是当前的hwnd
。 -
按照本教程中的说明,通过对
WM_CREATE
作出反应,从其自己的winproc消息处理程序中开始填充新窗口。但是,这需要将g_szClassName
注册为子窗口的一个单独类,并具有自己的回调函数。
顺便说一下,本教程向您展示了如何创建按钮和文本框。
第二种选择需要更多的工作,但使子窗口更加自包含,从而实现更干净的代码和更好的可重用性。
相关文章:
- 如何为使用创建窗口创建的窗口创建自定义背景颜色
- 窗口 :创建仅具有对我的进程的权限的目录 (C++)
- DXGI_ERROR_INVALID_CALL为核心窗口创建交换链时
- 视觉C++窗口创建失败
- 从 WinAPI 窗口创建控制台窗口
- 窗口创建错误 - 可能是事件处理
- Qt:当主窗口被模式QDialog阻止时,如何聚焦从主窗口创建的无模式QDialog
- Visual Studio 2012应用程序窗口创建/调整大小与VS2008窗口创建不同?为什么?
- C++/SFML窗口创建失败
- 窗口创建问题
- 使用创建窗口创建 MDI 子窗口
- MDI 子窗口创建失败
- Win32窗口创建失败
- 挂钩窗口创建;挂钩未被触发
- 如何使用'C'或'C++'为窗口创建独立的程序或应用程序
- 调用glfwWindowHint()后,GLFW窗口创建失败
- c++窗口创建/ SDL
- Qt从我的主窗口创建新窗口
- 窗口创建失败-LoadFrame(IDR_MAINFRAME)使C++失败
- Visual Studio和SDL2窗口创建失败