Вниз
Скачать: CL | DM;

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

← →
maxs   (2008-03-13 21:12) [0]

Нужен TTreeView c CheckBox"ами, что посоветуете: докурчивать стандартный TTreeView для использования галочек или посоветуте подыскать уже готовый компонент, если да то какой?

Спасибо.


← →
Jeer ©   (2008-03-14 14:17) [1]

Что тебе проще - то и делай.


← →
031178   (2008-03-14 14:19) [2]

Где то видел компонент что то типа ......TreeView, так вот там точно были крыжики поищи по инету !!!


← →
031178   (2008-03-14 14:25) [3]

http://forum.sources.ru/index.php?showtopic=147339


← →
Ник   (2008-03-14 15:24) [4]


> maxs   (13.03.08 21:12)


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


позволит тебе использовать "галочки"


← →
Malik ©   (2008-03-14 23:15) [5]

Даеш возможность флажков:
SetWindowLong(TreeView1.Handle,GWL_STYLE,GetWindowLong(TreeView1.Handle,GWL_STYL E) or TVS_CHECKBOXES);

Позволяет ставить флажок:
procedure   SetNodeChecked(Node   :TTreeNode;   Checked   :Boolean);
 const
     TVIS_CHECKED   =   $2000;
 var
     TvItem   :TTVItem;
 begin
     FillChar(TvItem,   SizeOf(TvItem),   0);
     with   TvItem   do   begin
         hItem:=   Node.ItemId;
         Mask:=   TVIF_STATE;
         StateMask:=   TVIS_STATEIMAGEMASK;
         if   Checked   then
             TvItem.State:=TVIS_CHECKED
         else
             TvItem.State:=TVIS_CHECKED   shr   1;
         TreeView_SetItem(Node.TreeView.Handle,   TvItem);
     end;
 end;

Возвращает значение флажка:
Function TVGetCheck(TV: TTreeView; Node: TTreeNode): Boolean;
Var Item: TTVItem;
Begin
With Item Do Begin
   hItem:=Node.ItemId;
   mask:=TVIF_STATE;
   TV.Perform(TVM_GETITEM,0,Integer(@Item));
   Result:=Bool((State and $2000) shr 13);
   End; {With}
End;

ЗЫ Когда-то этим тоже болел((( Пришлось с какого-то толи китайского, толи японского сайта стянуть :D


← →
MetalFan ©   (2008-03-15 00:24) [6]

а вообще в идеале забить на медленное TTreeView и использовать более продвинутое и быстрое TVirtualDraw(или String)Tree


← →
MsGuns ©   (2008-03-15 20:30) [7]

>MetalFan ©   (15.03.08 00:24) [6]
>а вообще в идеале забить на медленное TTreeView

И чем это оно "медленное" ?


← →
MetalFan ©   (2008-03-16 12:40) [8]

да всем. добавь 1"000"000 узлов и посмотри как оно работать будет.


← →
ПостОвый терминатор ©   (2008-03-16 12:50) [9]


> MetalFan ©   (16.03.08 12:40) [8]

А 15 миллионов узлов не пробовал? Юзер остался бы доволен "чеканьем" в таком дереве:(
Где ты видел такие деревья?


← →
MetalFan ©   (2008-03-16 12:51) [10]

ладно, VirtualTrees более функциональные в любом случае...



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
2-1205562445
aleko
2008-03-15 09:27
2008.04.13
Caption динамического TMenuItem


15-1204092664
31512
2008-02-27 09:11
2008.04.13
Delphi 7: пользовательский интерфейс на китайском языке


15-1204096084
Виталий
2008-02-27 10:08
2008.04.13
Настроить файервол для фильтрации транзитного трафика LINUX


2-1205950526
Stepper
2008-03-19 21:15
2008.04.13
Почему сие не работает? Бутафорский ProgressBar :)


2-1205763221
Berkoot
2008-03-17 17:13
2008.04.13
Надстрочный индекс в Delphi




   Наверх