Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.04.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
2-1205852672
Dima
2008-03-18 18:04
2008.04.13
Как включить и выключить микрофон?


2-1205594808
DJ_UZer
2008-03-15 18:26
2008.04.13
Цвета в combobox


2-1205492680
webpauk
2008-03-14 14:04
2008.04.13
DBGrid.Columns


15-1204018720
@!!ex
2008-02-26 12:38
2008.04.13
Синхронизация потоков


15-1204055076
Kerk
2008-02-26 22:44
2008.04.13
Ненавижу TurboD2006!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский