小编Miz*_*una的帖子

win32 SetDlgItemText 在 WM_INITDIALOG 中不起作用

我刚刚开始尝试使用 win32,但遇到了一个问题。

BOOL CALLBACK UnsavedChangesProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
HWND dHandle = GetActiveWindow();

switch (msg)
{
case WM_INITDIALOG:
    MessageBox(NULL, "In InitDialog", 0, 0);
    SetDlgItemText(dHandle, 1004, ("There are unsaved changes to \""));
    char error[10];
    sprintf_s(error, "%d", GetLastError());
    MessageBox(NULL, error, 0, 0);
    return TRUE;
case WM_COMMAND:
    switch (LOWORD(wParam))
    {
    case IDSAVE:
        DoFileSave(hwnd);
        EndDialog(hwnd, TRUE);
        PostQuitMessage(0);
        break;
    case IDEXIT:
        EndDialog(hwnd, TRUE);
        PostQuitMessage(0);
        break;
    }
    break;
case WM_CLOSE:
    EndDialog(hwnd, FALSE);
    break;
default:
    return FALSE;
}
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

GetLastError() 返回 …

c++ winapi controls dialog

4
推荐指数
1
解决办法
627
查看次数

标签 统计

c++ ×1

controls ×1

dialog ×1

winapi ×1