checkbox - определит состояние?
От: tors Украина http://dotjob.110mb.com/resume/
Дата: 02.02.07 14:57
Оценка:
создаю checkbox и задаю для него свою оконную процедуру :


hCheckBox=CreateWindowEx(NULL,
            "Button",
            "win style",
            WS_CHILD |WS_VISIBLE | BS_FLAT | BS_AUTOCHECKBOX |BS_NOTIFY,
            10,
            90,
            80,
            30,
            hParentWnd,
            (HMENU)IDC_CHECKBOX,
            hInstance,
            NULL);
    pMainWndProcForchbx=(WNDPROC)SetWindowLong(hCheckBox,GWL_WNDPROC,(LONG)CheckBoxProc);


как мне в оконной процедуре checkbox'а получить его состояние?
я обрабатываю WM_LBUTTONDOWN :


case WM_LBUTTONUP :
    {
        LRESULT checked=SendMessage(hWnd,BM_GETCHECK,0L,0L);
        if(checked==BST_CHECKED)
        {
                           ...
        }else
            if(checked==BST_UNCHECKED)
            {
               ....                        
                    }
           }

и получаю значения с точностью до наоборот
те сообщение обрабатывается до того как сменится состояние checkbox'а

как мне решить єту проблему?

зы мне надо получить правильное состояние checkbox'а именно
в его собственной оконной процедуре
про wm_command знаю — но его надо обрабатывать в процедуре родителя
Re: checkbox - определит состояние?
От: Lonely Dog Россия  
Дата: 02.02.07 15:01
Оценка:
Здравствуйте, tors, Вы писали:

T>зы мне надо получить правильное состояние checkbox'а именно

T>в его собственной оконной процедуре
T>про wm_command знаю — но его надо обрабатывать в процедуре родителя
Пошли сам себе событие BM_GETCHECK.
Re[2]: checkbox - определит состояние?
От: tors Украина http://dotjob.110mb.com/resume/
Дата: 02.02.07 15:22
Оценка:
LD>Пошли сам себе событие BM_GETCHECK.

или я не понял ответ
или вы невнимательно прочли мой вопрос
в обработчике WM_LBUTTONUP в самом начале
я получаю состояние checkbox'а
с помощью єтого сообщения
Re[3]: checkbox - определит состояние?
От: Lonely Dog Россия  
Дата: 02.02.07 15:28
Оценка:
Здравствуйте, tors, Вы писали:

LD>>Пошли сам себе событие BM_GETCHECK.


T>или я не понял ответ

T>или вы невнимательно прочли мой вопрос
T>в обработчике WM_LBUTTONUP в самом начале
T>я получаю состояние checkbox'а
T>с помощью єтого сообщения
Да, действительно я стормозил.
Re[4]: checkbox - определит состояние?
От: petersonik  
Дата: 02.02.07 16:11
Оценка:
сначала выполни pMainWndProcForchbx
потом BM_GETCHECK
потом return, что вернул старый обработчик
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.