Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TreeView с CheckBoxами [D2005, XP]


DUDAS ©   (2006-03-19 12:27:00) 

Посоветуйте, как сделать TreeView с CheckBoxами


Наиль   (2006-03-19 14:56:00) [1]

С помощь GetHitTestInfoAt можно проверить куда нажали (на квадратик или нет). Далее по усмотрению.
With TreeView.ScreenToClient(Mouse.CursorPos) do
if htOnStateIcon in GetHitTestInfoAt(x,y) then ...


API   (2006-03-19 13:01:00) [2]

А разве TTreeView не имеет обработчиков?


DUDAS   (2006-03-19 12:58:00) [3]

Спасибо, может еще подскажете как обрабативать клик, чтобы менялись квадратики?


API   (2006-03-19 12:54:00) [4]

Поподробнее, пожалуйста

1. Рисуете красивый квадратик с рамочкой и еще красивее квадратик с рамочкой и галочкой.
2. Эти два рисунка вставляете в некий ImageList (например, пустой - с индексом 0, а с галочкой - с индексом 1).
3. Указываете этот ImageList в свойстве StateImages Вашего TreeView.
4. Если для выбранной ветки (TTreeNode) состояние "отмечен" - устанавливаете для этой ветки индекс StateIndex соответствующий номеру изображения с галочкой. Согласно примеру в п. 2,- индекс должен быть равен 0.
5. Если "не отмечен" - индекс, соответствующий номеру изображения без галочки. Согласно примеру в п. 2 - 1.

Захотите - можете нарисовать еще квадратиков - с крестиками, минусами, плюсами, буковками и пр., и загрузить их в ImageList. Устанавливая соответсвующий индекс StateIndex, будете иметь неограниченное разообразие отметок.


DUDAS   (2006-03-19 12:37:00) [5]

Поподробнее, пожалуйста


API   (2006-03-19 12:33:00) [6]

TTreeNode.StateIndex


Наверх

Титульная страница Поиск, карта сайта Написать письмо