« ☆JWWファイルの超簡易表示 その2 | トップページ | ☆TreeViewのノードを太字にする。 »

☆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;

|

« ☆JWWファイルの超簡易表示 その2 | トップページ | ☆TreeViewのノードを太字にする。 »