Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.16;
Скачать: CL | DM;

Вниз

как в TreeView поместить CheckBox   Найти похожие ветки 

 
kirat ©   (2009-06-16 16:31) [0]

Доброго времени суток. Подскажите, как в TreeView поместить CheckBox и им пользоваться?
Большое спасибо!


 
DVM ©   (2009-06-16 16:38) [1]

SetWindowLong() + TVS_CHECKBOXES.


 
Amoeba ©   (2009-06-16 16:41) [2]

http://www.delphikingdom.com/asp/answer.asp?IDAnswer=32524


 
DVM ©   (2009-06-16 16:45) [3]

Вот так:

With TreeView1 Do
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) or TVS_CHECKBOXES);


Далее, для определения того, что кликнули по Checkbox-у поступаем примерно так:

1) В OnMouseDown получаем координаты клика в окне TTreeView
2) function GetHitTestInfoAt(X, Y: Integer): THitTests; - узнаем куда кликнули и попали ли по галочке
3) function GetNodeAt(X, Y: Integer): TTreeNode; определяем узел по которому кликнули.

Ну а дальше дело техники и конкретного применения.


 
kirat ©   (2009-06-16 16:49) [4]


> With TreeView1 DoSetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,
> GWL_STYLE) or TVS_CHECKBOXES);

[Error] Unit1.pas(29): Undeclared identifier: "TVS_CHECKBOXES"


 
DVM ©   (2009-06-16 16:55) [5]


> kirat ©   (16.06.09 16:49) [4]

uses CommCtrl;


 
TreeView1   (2009-06-16 17:08) [6]

SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) or WM_VSCROLL);


 
sniknik ©   (2009-06-16 17:14) [7]

> or WM_VSCROLL);
тогда уж WM_KEYDOWN ...


 
kirat ©   (2009-06-16 17:23) [8]

Все хорошо а как мне програмно нажать присвоить 1 или 2 этому CheckBox?
При создании дерева в TreeView мне нада указать кокой должен быть CheckBox 0 или 1 или 2.


 
kirat ©   (2009-06-16 17:25) [9]

Может есть уже готовая компонента?


 
DVM ©   (2009-06-16 17:26) [10]


> kirat ©   (16.06.09 17:23) [8]

Я ничего не понял.


 
DVM ©   (2009-06-16 17:28) [11]


> kirat ©   (16.06.09 17:25) [9]


> Может есть уже готовая компонента?

TVirtualTreeView в нем есть все, что только может потребоваться от дерева.


 
Amoeba ©   (2009-06-16 22:33) [12]


> kirat ©   (16.06.09 17:25) [9]
>
> Может есть уже готовая компонента?

Есть также в составе библиотеки JVCL, к примеру.


 
Германн ©   (2009-06-17 00:23) [13]


> kirat ©   (16.06.09 17:23) [8]
>
> Все хорошо а как мне програмно нажать присвоить 1 или 2
> этому CheckBox?
> При создании дерева в TreeView мне нада указать кокой должен
> быть CheckBox 0 или 1 или 2.
>

Если мне не изменяет мой склероз у CheckBox возможны четыре состояния, а не три.


 
DVM ©   (2009-06-17 00:30) [14]


> Германн ©   (17.06.09 00:23) [13]

А четвертое какое? Недоступен?


 
Германн ©   (2009-06-17 00:36) [15]


> DVM ©   (17.06.09 00:30) [14]
>
>
> > Германн ©   (17.06.09 00:23) [13]
>
> А четвертое какое? Недоступен?

Точно. Изменяет он мне.
Это я вспомнил свою программу, где было 4 состояния объекта, которые отображались по разному в TRxCheckListBox.
Попутал :(



Страницы: 1 вся ветка

Текущий архив: 2009.08.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
2-1245139484
a.a.j.
2009-06-16 12:04
2009.08.16
EmbeddedWB и PNG


2-1245310635
wordmen
2009-06-18 11:37
2009.08.16
Как удалить символы перевода строки в Memo


15-1245321411
GRAND
2009-06-18 14:36
2009.08.16
BLOB->OLEConrtainer->File?


15-1245123478
DelphiN!
2009-06-16 07:37
2009.08.16
Установка новых устройств под учеткой с правами пользователя


15-1245011026
DillerXX
2009-06-15 00:23
2009.08.16
Лексикографическая сортировка?!