· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› CheckListBox - как создать ?

Посл.отвђт Сообщенiе


Дата: Янв 30, 2004 18:54:02

Господа !!
Как создать API-шными функциями ListBox с CheckBox-ами ?
MFC-шный CCheckListBox не советовать .... так легко ....
А вот чистыми API ?
Подскажите общую методику или последовательность действий ...
Субклассинг/Суперклассиниг что ли требуется ? или в стилях как то можно задать ?
В общем, рад буду любым советам !!!


Дата: Янв 30, 2004 18:59:44

Создаёте обычный ListBox со стилем
WS_CHILD+WS_VISIBLE+LBS_OWNERDRAWFIXED+WS_BORDER+LBS_HASSTRINGS+LBS_NO TIFY+WS_VSCROLL+WS_HSCROLL

И далее отрисовывать его самому. Я сейчас пишу статью "Создание контролов с помощью макросов в FASM" первый контрол - CheckListBox.
При использовании макросов инициализация одной строкой, Одной строкой создание (любого количества одновременно) и т.п.


Дата: Янв 30, 2004 20:08:17

Как я понимаю, в строке ListBox-а фактически находится не сам контрол (CheckBox), а его графический муляж (судя по присутствию LBS_OWNERDRAWFIXED в стиле ListBox-а) ...
Возникает вопрос: в ОС это единственный способ добиться желаемого результата ??? Или существуют еще какие-то варианты еще ?
Лично я подозреваю что официальный CheckBox не может существовать в строке ListBox-а - только битмап !!!
Может кто ссылку на пример исходника даст ??


Дата: Янв 31, 2004 07:23:51

korst
подозреваю что официальный CheckBox не может существовать в строке ListBox-а
У строки LB нет hwnd, а у самого LB есть.
Можно при создании (CreateWindow) checkbox'а в качестве hwndParent указать hwndListBox, только гемороя с позиционированием checkbox'ов будет больше, чем с ownerdraw'ом.

графический муляж
Который элементарно выполняется одной функцией DrawFrameControl (Windows GDI)

Может кто ссылку на пример исходника даст??
Ownerdraw'а или официального checkbox'а?


Дата: Янв 31, 2004 22:15:57

Смотри sysview:
http://www.comrade64.com/sources/sysview.zip
DlgFlagsProc.drawitem

Там как раз listbox с галочками через ownerdraw.


Дата: Фев 2, 2004 19:16:25

Спасибо за консультацию!!!


Дата: Фев 24, 2004 08:43:30

korst:
Слушай, может ты путаешь ListBox с ListView


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.038