Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ и WinAPI
Войти
Регистрация
Восстановить пароль
 
Kroman95
0 / 0 / 0
Регистрация: 23.11.2013
Сообщений: 4
#1

CreateWindowEx возвращает NULL - C++ WinAPI

25.09.2014, 00:12. Просмотров 483. Ответов 1
Метки нет (Все метки)

Почему то не создается окно,
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <Windows.h>
#include <WindowsX.h>
#include <CommCtrl.h>
#include <tchar.h>
 
#include "resource.h"
 
LRESULT CALLBACK MyWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
INT_PTR CALLBACK Dialog1Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 
void OnIdle(void);
//Обработчики главного окна
BOOL PreTranslateMessege(LPMSG lpMsg);
 
BOOL OnCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct);
 
void OnDestroy(HWND hwnd);
 
void OnCommand(HWND hwnd, int id, HWND hwndCtrl, UINT codeNotify);
 
//Обработчики диалогового окна
BOOL Dialog1_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
 
void Dialog1_OnClose(HWND hwnd);
 
void Dialog1_OnCommand(HWND hwnd, int id, HWND hwndCtrl, UINT codeNotify);
 
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR lpszCmdLine, int nCmdShow)
{
WNDCLASSEX myWindow = { sizeof(WNDCLASSEX) };
myWindow.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
myWindow.lpfnWndProc = MyWindowProc;
myWindow.hInstance = hInstance;
myWindow.hIcon = LoadIcon(NULL, IDI_APPLICATION);
myWindow.hCursor = LoadCursor(NULL, IDC_ARROW);
myWindow.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
myWindow.lpszMenuName = NULL;
myWindow.lpszClassName = TEXT("MyWindowClass");
myWindow.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if (0 == RegisterClassEx(&myWindow))
{
return - 1;
}
HWND hWnd = CreateWindowEx(NULL, TEXT("MyWindowClass"), TEXT("Главное меню"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
ShowWindow(hWnd, nCmdShow);
 
MSG msg;
BOOL bRet;
 
for (;;)
{
 
}
 
}
LRESULT CALLBACK MyWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
return NULL;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2014, 00:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос CreateWindowEx возвращает NULL (C++ WinAPI):

CreateWindowEx возвращает NULL (Win API и OpenGL: Урок1 от NeHe)
Доброго времени суток! Я скомпилировал программу из урока...

OpenProcess возвращает NULL
HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,...

OpenDesktop возвращает NULL
hwinsta = OpenWindowStation(&quot;winsta0&quot;, FALSE, ...

CreateWindow возвращает NULL
Простейшая программа, но почему-то CreateWindow возвращает NULL, уже и не знаю...

GetForegroundWindow возвращает NULL из потока
Всем привет. Такая проблема: GetForegroundWindow возвращает нормальные...

Createwindowex изменение параметров
использую SetWindowLongPtr, но параметры установленные ранее не пропадают,...

1
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
25.09.2014, 08:43 #2
Лучший ответ Сообщение было отмечено Kroman95 как решение

Решение

1) Добавьте в MyWindowProc вызов DefWindowProc, как полагается:
C++
1
2
3
4
LRESULT _stdcall MyWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    return (DefWindowProc(hWnd, uMsg, wParam, lParam));
}
2) Посмотрите, что возвращает GetLastError в случае ошибки CreateWindowEx.

3) Где цикл обработки оконных сообщений ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2014, 08:43
Привет! Вот еще темы с решениями:

CreateWindowEx() не создает окно
Работаю в VS 2013 Express, Юникод в настройках включен, GetLastError возвращает...

Программа виснет на CreateWindowEx
Здравствуйте, уважаемые господа. Имеется след. код: HWND ConsoleWnd; ...

Странное поведение CreateWindowEx
Просто невероятное нежелание создавать окно. Уже неоднократно так писал,...

CreateWindow или CreateWindowEx, в чем разница?
winapi c++ CreateWindow или CreateWindowEx в чем разница? Какой свежее или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru