Главная страница
    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.006 c
2-1205902866
snake-as
2008-03-19 08:01
2008.04.13
Проблема с канвасом


2-1205447785
Германн
2008-03-14 01:36
2008.04.13
Вопрос про TADODataset.ParamCheck


15-1204034089
sds
2008-02-26 16:54
2008.04.13
Есть программа которая работает с БД.


4-1186816191
Игорь_1
2007-08-11 11:09
2008.04.13
Listbox


15-1203938605
Nogard
2008-02-25 14:23
2008.04.13
ZIP архивы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский