IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> C++ создание класса дочернего окна
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Создаю обычный win32 project. Нужно использовать RegisterClass либо RegisterClassEx. Подскажите как сделать новый класс окна.


--------------------
Плагины для FL Studio и Pro Tools
Учусь на ошибках компилятора...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


У меня стоит MVS 2005.
Только у меня не дочернее окно, а просто новое окно.Я к тому что WS_CHILD мне нужен)
Так создал класс второго окна:
Код
ATOM CSecondWindow(HINSTANCE hInstance) //регистрация класса окна
{
    WNDCLASSEX wc;
    
    wc.cbSize = sizeof(WNDCLASSEX);
    
    wc.style            = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc    = SecondWindProc;
            wc.cbClsExtra        = 0;
            wc.cbWndExtra        = 0;
            wc.hInstance     = hInstance;
            wc.hIcon            = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY21212121));
            wc.hCursor        = LoadCursor(NULL, IDC_ARROW);
            wc.hbrBackground    = (HBRUSH)(COLOR_WINDOW+1);
            wc.lpszMenuName    = MAKEINTRESOURCE(IDC_MY21212121);
            wc.lpszClassName    = szWindowClass;
            wc.hIconSm        = LoadIcon(wc.hInstance, MAKEINTRESOURCE(IDI_SMALL));

    return RegisterClassEx(&wc);
}


Потом делаю оконную процедуру:

Код
LRESULT CALLBACK SecondWindProc(HWND hSWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;

    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Parse the menu selections:
        switch (wmId)
        {
        case IDM_EXIT:
            DestroyWindow(hSWnd);
            break;
        default:
            return DefWindowProc(hSWnd, message, wParam, lParam);
        }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hSWnd, &ps);
        // TODO: Add any drawing code here...
        EndPaint(hSWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hSWnd, message, wParam, lParam);
    }
    return 0;
}


Дальше нужно сделать, чтобы это окно открывалось после выбора пункта меню в главном окне.


--------------------
Плагины для FL Studio и Pro Tools
Учусь на ошибках компилятора...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 13:01
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name