小编anr*_*pas的帖子

如何将对话框居中放置在主程序窗口位置?

我有这个代码来打开一个定义在 DLL 上的 InputBox,它得到 HMODULE,当主程序调用时,我保存在 hInstance 变量上。我怎样才能把它放在主程序窗口的中心?它发生不起作用并随机显示在屏幕左上角或程序窗口左上角的对话框。

#include <windows.h>
#include "resource.h"

char IB_res[10];
double defaultValue = 0;
BOOL CALLBACK InputBox_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
    case WM_INITDIALOG:
        if (defaultValue != -1)
            SetDlgItemText(hwnd, IDC_EDIT, (LPCSTR)(my_printf("%f", defaultValue).c_str()));
        else
            SetDlgItemText(hwnd, IDC_EDIT, (LPCSTR)"");
        return TRUE;
    case WM_COMMAND:
        switch(LOWORD(wParam))
        {
        case IDOK:
            if (!GetDlgItemText(hwnd, IDC_EDIT, IB_res, 10))
                *IB_res = 0;
        case IDCANCEL:
            EndDialog(hwnd, wParam);
            break;
        }
        break;
    default:
        return FALSE;
    }
    return TRUE;
}

DWORD processId;
HWND hwndParent;
BOOL CALLBACK …
Run Code Online (Sandbox Code Playgroud)

c winapi window win32gui

2
推荐指数
1
解决办法
4446
查看次数

标签 统计

c ×1

win32gui ×1

winapi ×1

window ×1