zoukankan      html  css  js  c++  java
  • 选择框 树型控件 checkTreeview TTreeView

    unit CheckTreeview;

    interface

    uses
      Windows, Messages, SysUtils, Classes, Controls,Commctrl,ComCtrls;
    const
       TVIS_CHECKED = $2000;
    type
      TCheckTreeview = class(TTreeView)
      private
        { Private declarations }
      protected
        { Protected declarations }
        procedure CreateParams(var Params: TCreateParams); override;
      public
        { Public declarations }
        function IsChecked(Node :TTreeNode) :Boolean;
        procedure SetChecked(Node :TTreeNode; Checked :Boolean);
      published
        { Published declarations }
      end;

    procedure Register;

    implementation

    procedure Register;
    begin
      RegisterComponents('Standard', [TCheckTreeview]);
    end;

    { TCheckTreeview }

    procedure TCheckTreeview.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.Style:=Params.Style or TVS_CHECKBOXES;
    end;

    function TCheckTreeview.IsChecked(Node: TTreeNode): Boolean;
    var
      TvItem :TTVItem;
    begin
      TvItem.Mask  := TVIF_STATE;
      TvItem.hItem := Node.ItemId;
      TreeView_GetItem(Node.TreeView.Handle, TvItem);
      Result := (TvItem.State and TVIS_CHECKED) = TVIS_CHECKED;
    end;

    procedure TCheckTreeview.SetChecked(Node: TTreeNode; Checked: Boolean);
    var
      TvItem :TTVItem;
    begin
      FillChar(TvItem, SizeOf(TvItem), 0);
      with TvItem do begin
        hItem     := Node.ItemId;
        Mask      := TVIF_STATE;
        StateMask := TVIS_STATEIMAGEMASK;
        if Checked then
          TvItem.State :=TVIS_CHECKED
        else
          TvItem.State :=TVIS_CHECKED shr 1;
        TreeView_SetItem(Node.TreeView.Handle, TvItem);
      end;
    end;
    end.

  • 相关阅读:
    数组循环的各种方法的区别
    数组里面findIndex和indexOf的区别
    选择器的绑定
    把dialog对话框设置成组件的形式
    css font-family字体及各大主流网站对比
    记一下公司的备注怎么写
    可删
    瑞萨电子:嵌入式终端与人工智能融合改变工业格局
    linux有什么作用
    Linux有哪些特点
  • 原文地址:https://www.cnblogs.com/martian6125/p/9631482.html
Copyright © 2011-2022 走看看