Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
 Аватар для Goose45
2 / 2 / 1
Регистрация: 30.07.2016
Сообщений: 118

Создание окна

02.02.2018, 19:37. Показов 2758. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте ,я пытаюсь создать простое пустое окно с помощью WinAPI C++ ,использую VS ,и при создании консольного приложения код с msdn не работает ,появляются ошибки ,а при создание пустого проекта все работает ,почему ?

Я кажется где то видел что при создании консольного приложения в VS в свойствах проекта что то меняли и все работало.

И еще можно ли как то использовать меньше кода но получить тот же результат ?

C++
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
//
 
#ifndef UNICODE
#define UNICODE
#endif 
 
#include <windows.h>
 
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow)
{
    // Register the window class.
    const wchar_t CLASS_NAME[] = L"Sample Window Class";
 
    WNDCLASS wc = {};
 
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hInstance;
    wc.lpszClassName = CLASS_NAME;
 
    RegisterClass(&wc);
 
    // Create the window.
 
    HWND hwnd = CreateWindowEx(
        0,                              // Optional window styles.
        CLASS_NAME,                     // Window class
        L"Learn to Program Windows",    // Window text
        WS_OVERLAPPEDWINDOW,            // Window style
 
                                        // Size and position
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
 
        NULL,       // Parent window    
        NULL,       // Menu
        hInstance,  // Instance handle
        NULL        // Additional application data
    );
 
    if (hwnd == NULL)
    {
        return 0;
    }
 
    ShowWindow(hwnd, nCmdShow);
 
    // Run the message loop.
 
    MSG msg = {};
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
 
    return 0;
}
 
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
 
    case WM_PAINT:
    {
        PAINTSTRUCT ps;
        HDC hdc = BeginPaint(hwnd, &ps);
 
        FillRect(hdc, &ps.rcPaint, (HBRUSH)(COLOR_WINDOW + 1));
 
        EndPaint(hwnd, &ps);
    }
    return 0;
 
    }
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2018, 19:37
Ответы с готовыми решениями:

Создание невидимого окна поверх окна другой программы
Здравствуйте, как сделать невидимое окно поверх окна сторонней программы , например блокнота, и если изменился размер блокнота то и окно...

Создание окна из диалогового окна
Есть необходимость создавать новое окно прямо из диалогового по происхождению некоторого события, например нажатия кнопки, вопрос: как...

Создание окна.
Всем добрый день. Вот начал изучать WinApi и столкнулся с проблемой. Как сделать так, чтобы при нажатие на кнопку(в окне) открывалось...

1
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
02.02.2018, 20:32
Цитата Сообщение от Goose45 Посмотреть сообщение
создать простое пустое окно с помощью WinAPI
Тогда тип проекта нужен "Win32 - приложение Windows".

Добавлено через 6 минут
Цитата Сообщение от Goose45 Посмотреть сообщение
при создании консольного приложения в VS в свойствах проекта что то меняли
Если создать один проект "Win32 - приложение Windows", второй "Win32 - консольное" и сравнить их свойства, то можно увидеть, чем они отличаются. (Проект-> Свойства. 1) C/C++, препроцессор, 2) Компоновщик, система.)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.02.2018, 20:32
Помогаю со студенческими работами здесь

Создание окна
Помогите пожалуйста решить задачу В главном окне отобразить 4 кнопки типа CheckBox и 4 поля редактирования (Edit) и кнопку...

Создание диалогового окна
В ресурсах у меня есть диалог(IDD_DIALOG1) и я хочу его вывести на экран, но выскакивает ошибка: 'WinMain' : function cannot be...

Создание окна по таймеру
Имеется главное окно. Нужно создать дочернее через пару секунд с другими свойствами. Как это сделать? Создавал главное окно в...

Создание первого окна
Начал изучать WIN API C++ И примем точь в точь как в учебнике.. но у меня ошибки.. и не пойму почему. // ConsoleApplication1.cpp:...

Создание окна с меню
Пытаюсь выполнить задание по созданию окна с меню, но даже не получается с примером разобраться, который по непонятным причинам не...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru