初学delphi时做的,模仿白貂的用pb开发的那个框架,代码很垃圾,有时间在重新整理吧
treeview用3个图片,模仿checkbox的三态
授权窗口
treeview用3个图片,模仿checkbox的三态
授权窗口
unit YHGL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ImgList,menus,common, DB, ADODB;
type
Tyonghuguanli = class (TForm)
TreeView1: TTreeView;
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
Splitter1: TSplitter;
ImageList1: TImageList;
ListBox1: TListBox;
TreeView2: TTreeView;
qryright: TADOQuery;
procedure Label4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TreeView2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TreeView2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TreeView1Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure IniTVStates(tv1:TTreeView);
var
yonghuguanli: Tyonghuguanli;
implementation
uses jxcmain;
{$R *.dfm}
const
cFlatUnCheck = 1 ;
cFlatChecked = 2 ;
procedure IniTVStates(tv1:TTreeView); // 初始treeview选择状态
procedure IniTVNodeStates(node:TTreeNode);
var
i:Integer;
begin
if node.Count > 1 then
begin
for i : = 0 to node.Count - 1 do
begin
if yonghuguanli.qryright.Locate( ' item_text ' ,node[i].Text,[loCaseInsensitive]) then
node[i].StateIndex : = yonghuguanli.qryright.fieldbyname( ' abled ' ).AsInteger
else
node[i].StateIndex : = 2 ;
if node[i].Count > 1 then IniTVNodeStates(node[i]);
end;
end;
end;
var
node:TTreeNode;
begin
tv1.Items.BeginUpdate;
node : = tv1.Items.GetFirstNode;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ImgList,menus,common, DB, ADODB;
type
Tyonghuguanli = class (TForm)
TreeView1: TTreeView;
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
Splitter1: TSplitter;
ImageList1: TImageList;
ListBox1: TListBox;
TreeView2: TTreeView;
qryright: TADOQuery;
procedure Label4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TreeView2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TreeView2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TreeView1Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure IniTVStates(tv1:TTreeView);
var
yonghuguanli: Tyonghuguanli;
implementation
uses jxcmain;
{$R *.dfm}
const
cFlatUnCheck = 1 ;
cFlatChecked = 2 ;
procedure IniTVStates(tv1:TTreeView); // 初始treeview选择状态
procedure IniTVNodeStates(node:TTreeNode);
var
i:Integer;
begin
if node.Count > 1 then
begin
for i : = 0 to node.Count - 1 do
begin
if yonghuguanli.qryright.Locate( ' item_text ' ,node[i].Text,[loCaseInsensitive]) then
node[i].StateIndex : = yonghuguanli.qryright.fieldbyname( ' abled ' ).AsInteger
else
node[i].StateIndex : = 2 ;
if node[i].Count > 1 then IniTVNodeStates(node[i]);
end;
end;
end;
var
node:TTreeNode;
begin
tv1.Items.BeginUpdate;
node : = tv1.Items.GetFirstNode;