Главная страница
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.012 c
2-1205916579
Дмитрий
2008-03-19 11:49
2008.04.13
процент заряда акумулятора на нотбук ?


4-1186810295
Кирилл_А
2007-08-11 09:31
2008.04.13
bsToolWindow для WinApi


8-1178055969
XProger
2007-05-02 01:46
2008.04.13
Быстрый скриншот


2-1205927025
Deled
2008-03-19 14:43
2008.04.13
Программный анализатор


15-1204329746
Riply
2008-03-01 03:02
2008.04.13
Опять проблеммы с RAD Studio