Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вертикальный scroll в скинабельном listbox

32K
12 сентября 2008 года
Denis1986
27 / / 25.08.2008
GUI приложения основан на mfc.
Главная задача состоит в том, чтобы написать скинабельный CComboBox. Подзадачей является написание скинабельного CListBox. Я сделал скинабельную рамку у Listbox и сейчас пытаюсь присобачить к нему скинабельный вертикальный скролл. Я поместил ScrollBar в non-client часть ListBox (ListBox является родительским окном для ScrollBar). За счёт этого я могу не перерисовывать ScrollBar каждый раз после вызова метода DrawItem().
Проблема заключается в том, что когда я нажимаю на ScrollBar, то ListBox закрывается (так, как будто бы я нажал не на non-client часть самого ListBox а вне контрола). Перед закрытием ListBox можно заметить, что скроллинг происходит нормально. При этом если я не создаю ScrollBar, но выделяю под него non-client область, то при нажатии на неё ничего не происходит (окно ListBox не закрывается).
Есть и другие проблемы со скинабельным CComboBox, но эта является самой критичной.
Кода в SkinedListBox и SkinedComboBox получилось довольно много, так что если что-то конкретное понадобится - выложу.
32K
16 сентября 2008 года
Denis1986
27 / / 25.08.2008
Оказалось, что скинабельный scrollbar вызывал методы SetCapture() и ReleaseCapture(). При вызове ReleaseCapture() listBox закрывался, будучи всплывающим окном.
14
16 сентября 2008 года
Phodopus
3.3K / / 19.06.2008
Хм.. А как связаны ReleaseCapture() и всплывающие окна, можно поподробнее?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог