好象就是速达3000里面实现的功能,肯定不是用treeview能实现的,还要涉及到画图等等,
那个联系的箭头就得费点功夫,真是头痛
那个联系的箭头就得费点功夫,真是头痛
解决方案 »
- 安装DevExpress VCL 2011 后delphi启动有问题 清赐教
- 发个20分贴,再回个帖,可净赚20分?
- 如何在打开的一篇WORD文档中获取该文档总共的页数呢?
- 怎么才能让窗口图标不和托盘图标一起变!??
- 请问有没有像IE中的输入框那样的控件,在输入第一个字后就把相应的词提示出来。
- 关于分组统计的头疼事
- table database datasource 怎么设置才正确
- 救命!!!!!!!
- WebBrowser1.Visible:=False;怎么不起作用?
- 有没有哪位大神用代码实现过本机win7电脑可以局域网内被访问?
- x度空间,麻烦你关注一下http://www.delphibyte.com/download/softview.php?softid=426
- 新手请教各位了!!!
从中取出需要变化的图片1,并记下位置,再做变化后的内容也画成一个图片2。再放一个image控件,鼠标移出是图片1,移入是图片2,一个个做好就是了,可能要几天功夫,还要有艺术天份,祝你成功!
//如果是我再升级封装//pas
unit Unit4;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables, ExtCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Timer1: TTimer;
procedure Label1MouseEnter(Sender: TObject);
procedure Label1MouseLeave(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
FForm: TForm1;
FLabel: TLabel;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
if Assigned(FForm) then begin
FForm.Free;
FForm := nil;
end; TLabel(Sender).Color := clHighlight;
TLabel(Sender).Font.Color := not Font.Color;
Timer1.Enabled := False;
FLabel := TLabel(Sender);
Timer1.Enabled := True;
end;procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
TLabel(Sender).ParentColor := True;
TLabel(Sender).Font.Color := Font.Color;
end;procedure TForm1.Timer1Timer(Sender: TObject);
var
I: Integer;
H: Integer;
begin
TTimer(Sender).Enabled := False;
if not Assigned(FForm) then FForm := TForm1.Create(Self);
FForm.BorderStyle := bsNone;
H := FForm.Height;
FForm.Height := FLabel.Height;
FForm.Top := Top + FLabel.Top + 23;
FForm.Left := Left;
FForm.Color := RGB(Random(256), Random(256), Random(256));
FForm.Font.Color := not Font.Color;
FForm.Show;
for I := 1 to Width div 2 do begin
Application.ProcessMessages;
FForm.Left := FForm.Left + 2;
end;
for I := 1 to (H - FLabel.Height - 23) div 3 do begin
Application.ProcessMessages;
FForm.Height := FForm.Height + 3;
end;
end;end.//dfm
object Form1: TForm1
Left = 198
Top = 233
Width = 149
Height = 123
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Tag = 1
Left = 0
Top = 0
Width = 141
Height = 23
Alignment = taCenter
AutoSize = False
Caption = 'Label1>>>'
Layout = tlCenter
OnMouseEnter = Label1MouseEnter
OnMouseLeave = Label1MouseLeave
end
object Label2: TLabel
Tag = 2
Left = 0
Top = 25
Width = 141
Height = 23
Alignment = taCenter
AutoSize = False
Caption = 'Label2>>>'
Layout = tlCenter
OnMouseEnter = Label1MouseEnter
OnMouseLeave = Label1MouseLeave
end
object Label3: TLabel
Tag = 3
Left = 0
Top = 49
Width = 141
Height = 23
Alignment = taCenter
AutoSize = False
Caption = 'Label3>>>'
Layout = tlCenter
OnMouseEnter = Label1MouseEnter
OnMouseLeave = Label1MouseLeave
end
object Label4: TLabel
Tag = 4
Left = 0
Top = 73
Width = 141
Height = 23
Alignment = taCenter
AutoSize = False
Caption = 'Label4>>>'
Layout = tlCenter
OnMouseEnter = Label1MouseEnter
OnMouseLeave = Label1MouseLeave
end
object Timer1: TTimer
Enabled = False
Interval = 500
OnTimer = Timer1Timer
end
end
发一个例子给你参考:
procedure Tfrm_sendfile.settreeview;
var
p_data:pstring;
first_node,two_node,three_node:ttreenode;
begin
query3.close;
query3.sql.clear;
query3.sql.add('select distinct datepart(yy,rec_date) as rec_date from t_files_manage');
query3.open;
new(p_data);
p_data^:='lf_lake';
treeview1.Items.Clear; //第一个节点
first_node:=treeview1.Items.Addobject(nil,'xxx文件管理',p_data);
while not query3.eof do
begin
new(p_data);
p_data^:=query3.fieldbyname('rec_date').asstring; //第二个结点---年份
two_node:=treeview1.Items.AddChildObject(first_node,query3.fieldbyname('rec_date').asstring,p_data);
two_node.ImageIndex:=1;
two_node.SelectedIndex:=3;
query1.close;
query1.sql.clear;
query1.sql.add('select file_code from t_files_manage where datepart(yy,rec_date)=:fdate');
query1.ParamByName('fdate').asstring:=query3.fieldbyname('rec_date').asstring;
query1.open;
while not query1.eof do
begin
//new(p_data); //第三个结点---文件编号
//p_data^:=query1.fieldbyname('file_code').asstring;
three_node:=treeview1.items.AddChildObject(two_node,query1.fieldbyname('file_code').asstring,p_data);
three_node.ImageIndex:=2;
three_node.SelectedIndex:=3;
query1.Next;
end;
query3.next;
end;
end;
把你要的箭头先做好成图标,放到imagelist中
你可以自已用menuitem动态的控制。