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.

  • 相关阅读:
    图片保持比例居中显示
    登录后跳转到登录前的页面
    如何为网站添加百度统计功能
    项目更新到公网服务器的操作步骤
    jQuery Mobile中表单的使用体会
    手机端静态网页制作需要注意的几个问题
    bootstrap分页插件的使用
    Dell7040mt安装win7系统说明
    linux静态ip的设置
    eclipse项目有红叉的解决办法
  • 原文地址:https://www.cnblogs.com/martian6125/p/9631482.html
Copyright © 2011-2022 走看看