-
Delphi实现TdxDBTreeView节点全部展开或收拢
本源码演示如何实现Delphi TdxDBTreeView节点全部展开或收拢功能,也就是大家熟悉的树形菜单节点的折叠或展开功能,在平时的使用中,树形节点是很常用的一个菜单功能,本例子的树形菜单节点功能读取自数据库,因此在测试前请连接好数据库。
//单击全部展开按钮
procedure TForm1.Button1Click(Sender: TObject);
begin
dxDBTreeView1.FullExpand;
end;
//单击全部收拢按钮
procedure TForm1.Button2Click(Sender: TObject);
begin
dxDBTreeView1.FullCollapse;
end;
- 2022-01-26 05:17:01下载
- 积分:1
-
Delphi Canvas.Brush为窗体绘制渐变背景
Delphi 为窗体绘制渐变背景,这里使用了Delphi中的Canvas.Brush.Color来实现窗口背景的渐变色,不错吧?如示例图的左右渐变效果,实现的代码:
for i:=0 to self.Width-1 do
begin
c1:=GetRValue(StartColor)+Trunc(i*(GetRValue(EndColor)-GetRValue(StartColor))/(self.Width-1));
c2:=GetGValue(StartColor)+Trunc(i*(GetGValue(EndColor)-GetGValue(StartColor))/(self.Width-1));
c3:=GetBValue(StartColor)+Trunc(i*(GetBValue(EndColor)-GetBValue(StartColor))/(self.Width-1));
Canvas.Brush.Color:=RGB(c1,c2,c3);
//每次画矩形的画刷颜色
Dct:=Rect(i,0,i+1,self.Height);
//每次刷绘的矩形区域
Canvas.FillRect(Dct);
//填充颜色
end;
- 2022-05-24 21:26:59下载
- 积分:1
-
Delphi 隐藏或显示鼠标指针
Delphi 隐藏或显示鼠标指针,在编译后运行本程序生成的Exe程序,在窗口中单击鼠标左键,鼠标会消失,被隐藏了,再次单击后鼠标重现,很好的演示了在Delphi中如何显示或隐藏鼠标的操作。
- 2022-01-26 04:41:31下载
- 积分:1
-
一个无标题栏窗体 如何拖动?Delphi方法示例
本源码主要演示,Delphi如何拖动一个无标题栏的窗体,此前记得与大分享过不少VB类的相似源码,大部分情况下,我们习惯拖动窗口的标题栏来移动窗口,现在我们把窗口的标题栏去掉了,那么是如何实现窗口的拖动呢?其实我们可以拖动窗口的主窗口部位,同样可以拖动窗口,而且这样似乎更方便操作,关于代码的实现,请大家下载源码后,查看Unit1.pas文件。
- 2022-09-30 14:35:03下载
- 积分:1
-
使用Delphi 制作无闪烁的动画效果
使用Delphi 制作无闪烁的动画效果,如何实现不闪烁的动画呢?这个例子或许能找到一些答案:部分代码如下:
var
x,i: Integer;
dir,run: Boolean;
begin
b := TBitMap.Create;
b.Width := AnimWindow.Width;
b.Height := 32;
b.Canvas.Pen.Color := clBtnFace;
b.Canvas.Brush.Color := clBtnFace;
b.Canvas.Rectangle(0,0,AnimWindow.Width,32);
run := True;
dir := False;
x := 0;
while run do
for i := 0 to AnimWindow.ImageList1.Count-1 do
begin
b.Canvas.Rectangle(0,0,AnimWindow.Width,32);
AnimWindow.ImageList1.Draw(b.Canvas,x,0,i);
Synchronize(DrawAnimPic);
Sleep(AnimWindow.SpinEdit1.Value);
if (x = 0) or (x = 300) then dir := not dir;
if dir then Inc(x) else Dec(x);
end;
b.Free;
end;
- 2023-03-22 21:40:04下载
- 积分:1
-
Delphi实现窗体失去焦点时标题栏闪动特效
这是个有意思的窗口设计实例源码,Delphi实现窗体失去焦点时标题栏闪动特效,flashwindow特效,这样可吸引操作者注意,其实实现这一功能并不复杂,以下代码最关键:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
flashwindow(Handle,true);
end;
procedure TForm1.WMACTIVATEAPP(var message: TWMACTIVATEAPP);
begin
if Message.Active then
form1.Timer1.Enabled := false
else
form1.Timer1.Enabled := true;
end;
完整源码请下载。
- 2022-07-08 18:47:20下载
- 积分:1
-
Delphi 使用快捷键保存数据至SQLSERVER
Delphi 使用快捷键保存数据,这里是将数据保存在SQLSERVER数据库中,测试前请连接好数据库哦。
- 2022-07-24 01:07:01下载
- 积分:1
-
Delphi 让组件拖动窗体 按钮拖动窗口移动
Delphi 让组件拖动窗体 按钮拖动窗口移动,如图所示的窗口中,用户只需按住按钮,即可将整个窗口在屏幕上随意拖动,实现了如何用组件来移动窗体的功能。下面是相关代码:
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=MBLeft then
begin
releasecapture;
PerForm(WM_SYSCOMMAND,$F012,0);
end;
end;
- 2023-03-07 20:25:03下载
- 积分:1
-
Delphi7 向XML中添加RTTI信息
Delphi7.0 向XML中添加RTTI信息,这个例子挺简单,希望大家喜欢,面向Delphi新手的,高手请绕道哦,下面是本例Delphi向XML中添加RTTI信息的关键性代码:
procedure TForm1.ComponentToDOM(iNode: IXmlNode; Comp: TPersistent);
var
nProps, i: Integer;
PropList: PPropList;
Value: Variant;
newNode: IXmlNode;
begin
nProps := GetTypeData (Comp.ClassInfo)^.PropCount;
GetMem (PropList, nProps * SizeOf(Pointer));
try
GetPropInfos (Comp.ClassInfo, PropList);
for i := 0 to nProps - 1 do
begin
Value := GetPropValue (Comp, PropList [i].Name);
NewNode := iNode.AddChild(PropList [i].Name);
NewNode.Text := Value;
if (PropList [i].PropType^.Kind = tkClass) and (Value 0) then
if TObject (Integer(Value)) is TComponent then
NewNode.Text := TComponent (Integer(Value)).Name
else
ComponentToDOM (newNode, TObject (Integer(Value)) as TPersistent);
end;
finally
FreeMem (PropList);
end;
end;
- 2022-01-26 03:00:57下载
- 积分:1
-
内存使用状态Delphi 探测并显示
Delphi获取内存的使用状态并显示信息,这里是使用GlobalMemoryStatus来实现,有的是使用GetSystemInfo来获龋本程序可显示内存大小和可用内存,并显示进度条。不过我这台电脑是16G内存的Windows7 64位系统,程序可能没认出啊,下面是识别内存可用量的大小,仅供参考:
memo_status.dwLength := sizeof(memo_status);
GlobalMemoryStatus(memo_status);
Gauge2.Progress := (round((100*(memo_status.dwAvailPhys
/ memo_status.dwTotalPhys))));
label1.Caption := inttostr(memo_status.dwAvailPhys);
label2.Caption := inttostr(memo_status.dwTotalPhys);
- 2022-02-03 06:55:31下载
- 积分:1