在TREEVIEW中怎么给每一项加上一个CHECK框? 默认属性没有的,LIstview倒是有! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,有一个很烂的方法,找两个图标来,一个是选中的,一个是没选中的,点击是切换就行了,然后判断图标就知道node是选中了还是没选中。 对就是上面说的方法,用两个图标,然后在object对象中标记一下,自已重画checkbox图标 (另一个笨方法)可以加上CheckBox uses CommCtrl;SetWindowLong(TreeView1.Handle, GWL_STYLE, GetWindowLong(TreeView1.Handle, GWL_STYLE) or TVS_CHECKBOXES); //GetCheckvar item: TTVITEM;begin item.mask := TVIF_HANDLE or TVIF_STATE; item.hItem := TreeView1.Selected.ItemId; item.stateMask := TVIS_STATEIMAGEMASK; SendMessage(TreeView1.Handle, TVM_GETITEM, 0, LPARAM(@item)); if Boolean((item.state shr 12) - 1) then ShowMessage('Check');end;//SetCheckvar item: TTVITEM;begin item.mask := TVIF_HANDLE or TVIF_STATE; item.hItem := TreeView1.Selected.ItemId; item.stateMask := TVIS_STATEIMAGEMASK; item.state := INDEXTOSTATEIMAGEMASK(1);//2 Check, 1 Uncheck SendMessage(TreeView1.Handle, TVM_SETITEM, 0, LPARAM(@item));end; delphi写的程序关闭主窗体后内存释放不了 有关format函数的一个应用,急 [Delphi+Word]和大家共享 一个简单的问题,关于报表生成?(在线等) 用DELPHI怎样在注册表中创建字串值。 我发现了Delphi和FlashGet的关系 请教斑竹:SQL参数的问题? Delphi编译Express控件出错怎么处理? 注册表的key,valuename和value分别能容最多多少字符? 怎样获得应用程序所在路径(不包含文件名) 发布的问题!!将问题弄清到底!!望有成功经验的富翁将经验分享!! treeview
var
item: TTVITEM;
begin
item.mask := TVIF_HANDLE or TVIF_STATE;
item.hItem := TreeView1.Selected.ItemId;
item.stateMask := TVIS_STATEIMAGEMASK;
SendMessage(TreeView1.Handle, TVM_GETITEM, 0, LPARAM(@item));
if Boolean((item.state shr 12) - 1) then
ShowMessage('Check');
end;//SetCheck
var
item: TTVITEM;
begin
item.mask := TVIF_HANDLE or TVIF_STATE;
item.hItem := TreeView1.Selected.ItemId;
item.stateMask := TVIS_STATEIMAGEMASK;
item.state := INDEXTOSTATEIMAGEMASK(1);//2 Check, 1 Uncheck
SendMessage(TreeView1.Handle, TVM_SETITEM, 0, LPARAM(@item));
end;