Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

TTreeView c CheckBox-ами. как получить отмеченные узлы?   Найти похожие ветки 

 
FLIZ ©   (2002-12-04 15:49) [0]

Добрый день!
похоже, ни один я мучаюсь таким вопросом, подобный вопрос был
задан и на королевстве Дельфи, но ответа там не оказалось.

Итак, TTreeView успешно переведено в режим
TVS_CHECKBOXES. (через ф-ию SetComCtlStyle
из модуля CommCtrl).
Дерево рисуется с чекбоксами, вроде все нормально.

а как мне узнать состояние узла? его Checked = ?????
спасибо!


 
MBo ©   (2002-12-04 16:06) [1]

TVM_GETITEM


 
FLIZ ©   (2002-12-04 16:44) [2]

угу. уже понятно ЧТО искать, будем искать ...
правда ответ уж больно лаконичен. нельзя
ли чуть поподробнее - с чем это едят? :-)


 
MBo ©   (2002-12-04 16:49) [3]

это сообщение, посылаемое TreeView. Надо заполнить структуру tTVItem и проанализировать ее после вызова. Подробности в msdn.


 
MBo ©   (2002-12-04 18:20) [4]

function TVGetCheck(TV:TTreeView;n:integer):integer;
var
item:tTVItem;
begin
item.hItem:=TV.Items[n].ItemId;
item.mask:= TVIF_STATE;
TV.Perform(TVM_GETITEM,0,integer(@item));
Result:=(item.state and $2000) shr 13;
end;

Procedure TVSetCheck(TV:TTreeView;n:integer);
var
item:tTVItem;
j:integer;
begin
item.hItem:=TV.Items[n].ItemId;
item.mask:= TVIF_STATE;
TV.Perform(TVM_GETITEM,0,integer(@item));
item.state:=(item.state or $2000) and DWORD(not $1000);
item.statemask:=$FFFFFFFF;
TV.Perform(TVM_SETITEM,0,integer(@item));
end;


procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
//TVSetCheck(TreeView1,2);
for i:=0 to treeview1.Items.Count-1 do
memo1.lines.add(treeview1.Items[i].text+" "+
inttostr(TVGetCheck(TreeView1,i)));
end;



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.011 c
6-51863
Romych
2002-10-21 09:18
2002.12.16
Почему, такая разница в быстродействии?


6-51850
Igor_thief
2002-10-20 18:53
2002.12.16
Почта


1-51748
asusfi
2002-12-04 16:33
2002.12.16
bsNone для ComboBox


3-51624
volph7777
2002-11-25 16:46
2002.12.16
db866ru0


14-51900
Senka
2002-11-24 17:15
2002.12.16
Как запустить Inter Base сервер