Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2022, 12:04   #1
Qbinik
Пользователь
 
Регистрация: 08.10.2022
Сообщений: 25
По умолчанию Регистрация класса, вопрос.

Что будет если убрать if (!RegisterClass(&wcl)) return 0;
Окно не будет появляться, что еще, опешите подробнее.
Код:
#include <windows.h>    


LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);


int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int)
{
    WNDCLASS wcl;
    MSG      msg;
    HWND     wnd;

    wcl.style = 0;
    wcl.lpfnWndProc = WndProc;
    wcl.hInstance = hInst;
    wcl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wcl.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wcl.lpszMenuName = NULL;
    wcl.lpszClassName = LPCWSTR(L"First");
    wcl.cbClsExtra = wcl.cbWndExtra = 0;


    if (!RegisterClass(&wcl)) return 0;

    wnd = CreateWindow
    (
        LPCWSTR(L"First"),
        LPCWSTR(L"Hello, Windows!"),
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT,
        CW_USEDEFAULT, CW_USEDEFAULT,
        NULL, NULL,
        hInst,
        NULL);

    ShowWindow(wnd, SW_SHOW);


    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp)
{
    switch (msg)
    {

    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;

    default:
        return DefWindowProc(wnd, msg, wp, lp);

    }
}
Qbinik вне форума Ответить с цитированием
Старый 21.12.2022, 13:18   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Ну так уберите и попробуйте, делов-то...
waleri вне форума Ответить с цитированием
Старый 22.12.2022, 07:15   #3
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

Qbinik, класс не будет зарегистрирован в системе, CreateWindow вернёт 0. КинаОкна не будет
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос об объявлении класса. Prin53 Общие вопросы C/C++ 2 01.10.2012 08:02
Вопрос по статическим членам класса Maygli Помощь студентам 0 25.04.2012 14:41
регистрация класса окна (указатель на процедуру) xrob Компоненты Delphi 2 22.06.2011 14:49
Вопрос по поводу объявления класса в С++ Билдер prikolist Общие вопросы C/C++ 2 08.04.2009 23:07
Вопрос насчёт класса TStringList!!! KAMENYKA Компоненты Delphi 4 06.12.2007 14:49