Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];
Внизкак в 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c