singlepost

WinApi class Button << На главную или назад  

Подскажите как создать свой класс наследника класса button. Язык С++.

11 ответов в теме “WinApi class Button”

  1. 11
    Сергей Фирсов ответил:

    Спасибо за помощь.

  2. 10
    Александр Сапрыкин ответил:

    Читайте Петзольда и Румянцева на этот счет.
    Посоветовал бы Рихтера, но у него по поводу GUI нет ничего.

    Виктор Коновалов, +1

  3. 9
    Сергей Фирсов ответил:

    "…чистейшей воды непонимание матчасти"
    если бы понимал, не спрашивал.

  4. 8
    Александр Сапрыкин ответил:

    Потому что класс окна в WinAPI и С++ класс несколько разные понятия. И пытаться "отнаследовать" класс окна чистейшей воды непонимание матчасти. Вопрос в том, какую задачу Вы перед собой ставите?

  5. 7
    Виктор Коновалов ответил:

    погуглите насчет субклассов и суперклассов

  6. 6
    Виктор Коновалов ответил:

    вот пример если несудьба спросить у гугля:

    // глоб. переменная – для хранения адреса старой оконной функции
    FARPROC OldWndProc;
    // объявление новой оконной функции
    LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
    . . .

    . . .
    // <— начало фрагмента кода некоторой функции —
    //создание суперкласса "button"
    WNDCLASS wc;
    GetClassInfo(hInstance,"button",&wc);
    wc.lpszClassName="beepbutton";
    wc.hInstance=hInstance;
    OldWndProc=(FARPROC)wc.lpfnWndProc;
    wc.lpfnWndProc=(WNDPROC)WndProc;
    RegisterClass(&wc);

    HWND hWnd=CreateWindow("beepbutton","superclassing",WS_VISIBLE|BS_CENTER,
    100,100,200,50,NULL,NULL,hInstance,NULL);
    // — конец фрагмента кода некоторой функции —>
    . . .

    LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
    {
    switch(msg)
    {
    case WM_LBUTTONDOWN: MessageBeep(-1);
    default: return CallWindowProc(OldWndProc,hWnd,msg,wParam,lParam);
    }
    return 0l;
    }

  7. 5
    Сергей Фирсов ответил:

    Почему нельзя наследовать от button в WinApi ?

  8. 4
    Сергей Фирсов ответил:

    Зачем? Интересно.
    Как это сделать MFC ?

  9. 3
    Vlad Ламбар ответил:

    стоп а разве в WinApi, Button как класс? Тоесть как класс, от которого можно наследоватся? Вроде там можно только создавать уже кнопки, и обрабатывать их сообщения. Что увеличивает код в разы…

    Если не критично само WinApi, то пользуйся MFC…Там это можно 100%

    Вообще зачем это???

  10. 2
    Сергей Фирсов ответил:

    Пишет 'Button' : base class undefined

  11. 1
    Сергей Фирсов ответил:

    Может надо использовать какое-то пространство имен, но не могу найти какое.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.