![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TTreeView с CheckBox'ами [D7]
maxs © (2008-03-13 21:12:00)Нужен TTreeView c CheckBox'ами, что посоветуете: докурчивать стандартный TTreeView для использования галочек или посоветуте подыскать уже готовый компонент, если да то какой?
Спасибо.
MetalFan (2008-03-16 12:51:00) [1]ладно, VirtualTrees более функциональные в любом случае...
ПостОвый терминатор (2008-03-16 12:50:00) [2]
> MetalFan © (16.03.08 12:40) [8]
А 15 миллионов узлов не пробовал? Юзер остался бы доволен "чеканьем" в таком дереве:(
Где ты видел такие деревья?
MetalFan (2008-03-16 12:40:00) [3]да всем. добавь 1'000'000 узлов и посмотри как оно работать будет.
MsGuns (2008-03-15 20:30:00) [4]>MetalFan © (15.03.08 00:24) [6]
>а вообще в идеале забить на медленное TTreeView
И чем это оно "медленное" ?
MetalFan (2008-03-15 00:24:00) [5]а вообще в идеале забить на медленное TTreeView и использовать более продвинутое и быстрое TVirtualDraw(или String)Tree
Malik (2008-03-14 23:15:00) [6]Даеш возможность флажков:
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
Ник (2008-03-14 15:24:00) [7]
> maxs (13.03.08 21:12)
SetWindowLong(TreeView1.Handle,
GWL_STYLE,
GetWindowLong(TreeView1.Handle,
GWL_STYLE) or WM_VSCROLL);
позволит тебе использовать "галочки"
031178 (2008-03-14 14:25:00) [8]http://forum.sources.ru/index.php?showtopic=147339
031178 (2008-03-14 14:19:00) [9]Где то видел компонент что то типа ......TreeView, так вот там точно были крыжики поищи по инету !!!
Jeer (2008-03-14 14:17:00) [10]Что тебепроще - то и делай.