☆TreeViewのチェックボックスを設定する。
☆TreeViewにチェックボックスを表示する。では、
マウスによりチェックボックスを設定しましたが、
今回はプログラムからの設定を試してみました。
// チェックする procedure TForm1.Button1Click(Sender: TObject); var TvItem: TTVItem; Node: TTreeNode; begin Node := TreeView1.Selected; if Node = nil then Exit; TvItem.hItem := Node.ItemId; TvItem.stateMask := TVIS_STATEIMAGEMASK; TvItem.mask := TVIF_HANDLE or TVIF_STATE; TvItem.state := TVIS_CHECKED; TreeView_SetItem(TreeView1.Handle, TvItem); end;
// チェックを外す procedure TForm1.Button2Click(Sender: TObject); var TvItem: TTVItem; Node: TTreeNode; begin Node := TreeView1.Selected; if Node = nil then Exit; TvItem.hItem := Node.ItemId; TvItem.stateMask := TVIS_STATEIMAGEMASK; TvItem.mask := TVIF_HANDLE or TVIF_STATE; TvItem.state := TVIS_CHECKED shr 1; TreeView_SetItem(TreeView1.Handle, TvItem); end;
// チェックされているかどうかを調べる procedure TForm1.Button3Click(Sender: TObject); var Node: TTreeNode; begin Node := TreeView1.Selected; if Node = nil then Exit; if TreeView_GetCheckState(TreeView1.Handle, Node.ItemId) > 0 then ShowMessage('Checked') else ShowMessage('Not Checked'); end;
| 固定リンク