Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CCheckListBox каие нотификации посылает? 
:(
    Опции темы
Nastya
Дата 9.7.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 1
Всего: 44



CCheckListBox посылает ли нотификации когда у него меняетс состояние CheckBox'ов? Если да, то какую, какие?


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Earnest
Дата 11.7.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



CLBN_CHKCHANGE.
Чтобы узнать это, достаточно заглянуть в код.


--------------------
...
PM   Вверх
mrgloom
Дата 21.11.2012, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



почему то не работает, т.е. не заходит в  OnCheckChangeProfileList при изменении чекбокса.

Код

afx_msg void OnCheckChangeProfileList();


Код

BEGIN_MESSAGE_MAP(CTestWindowDlg, CDrawGraph)
ON_CLBN_CHKCHANGE(IDC_PROFILE_LIST, &CTestWindowDlg::OnCheckChangeProfileList)
END_MESSAGE_MAP()



Код

void CTestWindowDlg::OnCheckChangeProfileList()
{
    int nCount= m_ProfileSelectList.GetItemCount();
    for(int i=0;i<nCount;++i)
    {
        if(m_ProfileSelectList.GetCheck(i))
            m_vec_profile[i].is_show= true;
        else
            m_vec_profile[i].is_show= false;
    }

    UpdateForm();
}



Это сообщение отредактировал(а) mrgloom - 21.11.2012, 12:13
PM MAIL   Вверх
Earnest
Дата 21.11.2012, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Найди в коде MFC ф-ю CCheckListBox::OnLButtonDown и поставь в ней точку прерывания. На поверхностный взгляд, уведомление посылается. Проверь, так ли это, тогда можно проверять, почему она не ловится. Например, поставить точку прерывания в OnCmdMsg и посмотреть, куда пойдет и почему. 


--------------------
...
PM   Вверх
mrgloom
Дата 21.11.2012, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



у меня оказывается CListCtrl с чекбоксами ,а не CCheckListBox.
PM MAIL   Вверх
mrgloom
Дата 21.11.2012, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



поменял на CCheckListBox теперь работает.

но всё таки интересно как это можно сделать с CListCtrl с чекбоксами.

PM MAIL   Вверх
Earnest
Дата 22.11.2012, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Очень просто: дописать руками все то, чем отличается код CCheckListBoz от CListBox.
Хотя, может, там и что-то лишнее есть.
Вопрос - зачем?


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.