окно не создаётся
У меня есть следующий код:
#include "pch.h"
#include "MessageHandler.hpp"
#include <iostream>
LPCWSTR path;
HWND parentWnd;
HICON icon;
HCURSOR hCursor;
WNDCLASSEX wcex;
HBRUSH back, defText, funcs, comms;
typedef std::string(*GETVAL_FROM_DATA)(const char* data, const char* block),
(*GETVAL_FROM_FILE)(const char* block, LPWSTR path);
bool LoadResources();
bool Init(HWND parent, LPCWSTR pathToFolder) {
path = pathToFolder;
parentWnd = parent;
if (!LoadResources()) {
MessageBox(parent, L"ERROR: resources is not found!", L"ERROR #12", MB_ICONERROR);
return false;
}
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_DROPSHADOW | CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = Handler;
wcex.hInstance = GetModuleHandle(NULL);
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = GetModuleHandle(NULL);
wcex.hIcon = icon;
wcex.hCursor = hCursor;
wcex.hbrBackground = back;
wcex.lpszClassName = L"EDIT_WND";
wcex.lpszMenuName = NULL;
wcex.hIconSm = icon;
bool s = RegisterClassEx(&wcex) != NULL;
if(!s)
std::cout << GetLastError() << std::endl;
return s;
}
bool CreateEditWnd() {
bool s = CreateWindow(
wcex.lpszClassName,
L"xxs",
WS_BORDER | WS_CHILD ,
0, 0,
400, 500,
parentWnd,
NULL,
GetModuleHandle(NULL),
NULL
) != NULL;
if(!s)
std::cout << GetLastError() << std::endl;
UpdateWindow(parentWnd);
return s;
}
bool LoadResources() {
icon = (HICON)LoadImage(GetModuleHandle(NULL), L"components/icons/any.ico", IMAGE_ICON, 255, 143, LR_LOADFROMFILE | LR_LOADTRANSPARENT);
if (!icon) {
std::cout << std::endl << "Error icon 'components/icons/any.ico' is not found!Error num:" << GetLastError() << std::endl;
return false;
}
hCursor = LoadCursorFromFile(L"components/icons/IBEAM.cur"); // по другому курсор не хотел загружаться
if (!hCursor) {
DestroyIcon(icon);
std::cout << std::endl << "Error cursor 'components/icons/IBEAM.ico' is not found!Error num: " << GetLastError() << std::endl;
return false;
}
return LoadTheme(); // функция загрузки темы приложения (в ней всё отлично)
}
он находиться в отдельном модуле программы (в dll'ке). Всё работает отлично, но окно не создаётся. Звоню в GetLastError() но он выводит 0, т.е. то, что ошибок нет, а окно не создаётся!