【问题标题】:How to add a button to a running Windows GUI program如何将按钮添加到正在运行的 Windows GUI 程序
【发布时间】:2016-12-29 05:12:05
【问题描述】:

现在我想动态修改一个正在运行的WINDOWS程序的GUI(假设这个程序是用win32 API/MFC编写的),例如,在它的特定位置添加一个按钮。

但是我对WINDOWS GUI编程不熟悉。

所以想问问有没有正常的方法可以使用win32 API或者MFC来实现这个功能。

如果没有,我需要任何黑客技巧吗?

【问题讨论】:

标签: c++ windows visual-studio user-interface mfc


【解决方案1】:

当您在WndProc 回调函数中处理(例如)WM_COMMAND 消息时,您可以使用CreateWindow 函数dynamically 创建任何 Windows 组件。或与此相关的任何其他消息。如果您有一个 ID 为 IDC_BUTTON 的按钮,您可以在单击时创建一个新按钮。

case WM_COMMAND: // process commands
        switch (LOWORD(wParam))
        {
        case IDC_BUTTON: //check for our button ID
            HWND hwndButton = CreateWindow(
                L"BUTTON", // predefined class name
                L"OK", // button text 
                WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,  // Styles 
                10, // x position 
                10, // y position 
                75, // width
                24, // height
                hWnd, // parent handle
                (HMENU)IDC_BUTTON2, // button ID
                hInst, // module instance
                NULL); // lparam, pointer not needed
            break;
        }

【讨论】:

    猜你喜欢
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    相关资源
    最近更新 更多