![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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