A
A
armadillo-cld2020-09-19 14:33:55
C++ / C#
armadillo-cld, 2020-09-19 14:33:55

Unable to display dialog - CreateDialog = 1406 = ERROR_TLW_WITH_WSCHILD?

Hello.

What am I trying to do

Пытаюсь реализовать разработку софт с UI, подобному CodeBlocks, без мусора, но при этом дабы не заморачиваться с координатами - использовать ресурс диалогового окна.
Дело в том, что в CodeBlocks меня не устраивает компилятор, да и нет там встроенного редактора ресурсов, если только использовать ResEdit. Как мне кажется, легче и лучше использовать VS, но при использовании MFC - пустое окно выдаёт 3000 мб. Это не нормально, причём мусора в коде - ужас...


What and how do I do

Делаю так:
Создаю пустой проект.
Устанавливаю в свойствах проекта "Система" -> "Windows" (дабы компилировать как Win32, а не Консольное)
Создаю ресурс - "Dialog" -> "IDD_DIALOGBAR"
Прописываю начальный код:
#pragma comment (lib, "comctl32")

#include <string>

#include <Windows.h>
#include <commctrl.h>

#include "resource.h"

HINSTANCE hInst;

BOOL CALLBACK DlgMain(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
        case WM_CLOSE:
        {
            EndDialog(hwndDlg, 0);
        }
        return TRUE;
    }
    return FALSE;
}

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, LPWSTR, INT) {
    hInst = hInstance;

    InitCommonControls();
    CreateDialog(hInst, MAKEINTRESOURCE(IDD_DIALOGBAR), 0, DlgMain);
    return 0;
}



The mistake itself

Итак. Вроде всё правильно. Ошибок - 0, Предупреждений - 0, но после компиляции - ничего не выводится.
Странно, CreateDialog ничего не возвращает. Проверяем через GetLastError.
Всё верно, GetLastError - выдаёт 1406, и именно после вызова CreateDialog:
InitCommonControls();

    err = std::to_string(GetLastError());
    MessageBoxA(NULL, err.c_str(), "", MB_OK);

    CreateDialog(hInst, MAKEINTRESOURCE(IDD_DIALOGBAR), 0, DlgMain);
    
    err = std::to_string(GetLastError());
    MessageBoxA(NULL, err.c_str(), "", MB_OK);



What to do? How to be?
Googled, found nothing. Error description only - 1406 - ERROR_TLW_WITH_WSCHILD Thanks

in advance for your help.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexander Ananiev, 2020-09-19
@armadillo-cld

https://stackoverflow.com/questions/39423719/cwind...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question