从主窗口事件处理程序调用后如何在子窗口中创建按钮?

时间:2015-03-25 06:31:27

标签: c++ win32gui

我有一个主窗口程序,在按下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
                );

1 个答案:

答案 0 :(得分:1)

您有两种主要可能性:

  • 从您所在的位置开始填充新窗口。只需将hWindow作为CreateWindowEx()中的父窗口而不是当前hwnd

  • 开始在自己的winproc消息处理程序中填充新窗口,对WM_CREATE进行响应,如this tutorial中所述。但是,这需要您已将g_szClassName注册为子窗口的单独类,并具有自己的回调函数。

顺便说一句,本教程将向您展示如何创建按钮和文本框。

第二种替代方案需要稍微多一些工作,但是使子窗口更加独立,从而使代码更清晰,可重用性更高。