Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.13;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.019 c
2-1205758991
savyhinst
2008-03-17 16:03
2008.04.13
Повернуть картинку


11-1187786759
mdw
2007-08-22 16:45
2008.04.13
Сайт http://www.kolnmck.ru/


2-1205343170
MegaPiha
2008-03-12 20:32
2008.04.13
Как создать "живой" SQL запрос?


2-1205927037
asdf2
2008-03-19 14:43
2008.04.13
Как сделать MultiSelect в TCheckListBox?


2-1206024539
Aleksandr
2008-03-20 17:48
2008.04.13
ClientSocket и ServerSocket