//Checked 상태를 리턴하는 함수
Function TForm1.GetCheckState(hItem:HTREEITEM):Boolean;
const
TVM_GETITEMSTATE=TV_FIRST+39;
begin
Result:=Boolean(SendMessage(TreeView1.Handle,TVM_GETITEMSTATE,
LongInt(hItem),TVIS_STATEIMAGEMASK) Shr 13);
end;
//Checked 상태를 설정하는 프로시져
procedure TForm1.SetCheckState(hItem:HTREEITEM;State:Boolean);
var
TVi:TTVITEMEX;
begin
TVi.mask:=TVIF_STATE;
TVi.hItem:=hItem;
TVi.stateMask:=TVIS_STATEIMAGEMASK;
TVi.state:=ord(GetCheckState(hItem)) or ((ord(State)+1) Shl 12);
SendMessage(TreeView1.Handle,TVM_SETITEM,0,longInt(@TVi));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetCheckState(TreeView1.Items.Item[0].ItemId,True);
end;
안녕하세요. treeview에서 체크박스를 넣고 체크여부를 확인은 했는데 프로그램상으로 체크박스에 true, false 여부를 넣는방법을 찾고있습니다. 체크박스 넣는방법 uses절에 CommCtrl을 추가 From Create에 SetWindowLong(TreeView1.Hand...
양상훈
•
2002.07.25 04:01
//Checked 상태를 리턴하는 함수
Function TForm1.GetCheckState(hItem:HTREEITEM):Boolean;
const
&nbs...
Function TForm1.GetCheckState(hItem:HTREEITEM):Boolean;
const
TVM_GETITEMSTATE=TV_FIRST+39;
begin
Result:=Boolean(SendMessage(TreeView1.Handle,TVM_GETITEMSTATE,
LongInt(hItem),TVIS_STATEIMAGEMASK) Shr 13);
end;
//Checked 상태를 설정하는 프로시져
procedure TForm1.SetCheckState(hItem:HTREEITEM;State:Boolean);
var
TVi:TTVITEMEX;
begin
TVi.mask:=TVIF_STATE;
TVi.hItem:=hItem;
TVi.stateMask:=TVIS_STATEIMAGEMASK;
TVi.state:=ord(GetCheckState(hItem)) or ((ord(State)+1) Shl 12);
SendMessage(TreeView1.Handle,TVM_SETITEM,0,longInt(@TVi));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetCheckState(TreeView1.Items.Item[0].ItemId,True);
end;