📄 publicsel.pas
字号:
unit publicsel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, ImgList, fcTreeView;
type
Tpublicsel_frm = class(TForm)
StatusBar1: TStatusBar;
Panel1: TPanel;
ImageList1: TImageList;
fcTreeView1: TfcTreeView;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ListNode(L,H,id:integer;item:TfcTreeNode);
procedure fcTreeView1DblClick(TreeView: TfcCustomTreeView;
Node: TfcTreeNode; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
procedure fcTreeView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TMysel=record
RootMes:String;
TabMes:String;
end;
type
Tcode=record
parentid:integer; //父节点编码
id:integer; //ID编码
e_expr:string; //编码
c_brif:string; //字符:
end;
var
publicsel_frm: Tpublicsel_frm;
Mysel:TMySel;
code:array of Tcode;
implementation
uses datashare;
{$R *.dfm}
procedure Tpublicsel_frm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure Tpublicsel_frm.ListNode(L,H,id:integer;item:TfcTreeNode);
var
i:integer;
NewItem:TfcTreeNode;
begin
for i:=L to H do
begin
if code[i].parentid=id then
begin
NewItem:=fcTreeView1.Items.AddChild(item,code[i].c_brif);
NewItem.StringData:=code[i].e_expr;
ListNode(i,H,code[i].id,NewItem);
end;
end;
end;
procedure Tpublicsel_frm.FormCreate(Sender: TObject);
var
str:string;
RootItem,NewItem:TfcTreeNode;
i,k:integer;
begin
//增加根结点
{/*self.Caption:=Mysel.RootMes+'选择框';
RootItem := fcTreeView1.Items.Add(nil, Mysel.RootMes);
RootItem.ImageIndex:=2;
RootItem.SelectedIndex:=2;
RootItem.StateIndex:=-1;
try
with datashare_form.Query1 do
begin
close;
sql.Clear;
str:='select parentid,id,e_expr,c_brif from codetab where C_Expr=:p1 and choose=:p2 order by parentid,id';
sql.Add(str);
params[0].AsString:=Mysel.TabMes;
params[1].AsString:='0';
prepare;
open;
setlength(code,recordcount);
k:=0;
while not eof do
begin
code[k].parentid:=fieldbyname('parentid').AsInteger;
code[k].id:=fieldbyname('id').AsInteger;
code[k].e_expr:=fieldbyname('e_expr').AsString;
code[k].c_brif:=fieldbyname('c_brif').AsString;
inc(k);
next;
end;
end;
except
on e:exception do
application.MessageBox(pchar(e.Message),'恩普软件',MB_OK+MB_IconStop+MB_SystemModal);
end;
for i:=low(code) to high(code) do
begin
if code[i].parentid=0 then
begin
NewItem:=fcTreeView1.Items.AddChild(RootItem,code[i].c_brif);
NewItem.StringData:=code[i].e_expr;
ListNode(i,high(code),code[i].id,NewItem);
end;
end; */}
end;
procedure Tpublicsel_frm.fcTreeView1DblClick(TreeView: TfcCustomTreeView;
Node: TfcTreeNode; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
begin
{/* if fcTreeView1.Selected.Level<>0 then
begin
dispcode:=fcTreeView1.Selected.StringData;
close;
end; */}
end;
procedure Tpublicsel_frm.fcTreeView1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then
begin
{/*if fctreeview1.Selected.Level<>0 then
begin
dispcode:=fcTreeView1.Selected.StringData;
close;
end;*/}
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -