-
Delphi 在程序运行过程中动态添加菜单
Delphi创建动态菜单,在程序运行过程中动态添加菜单,点击“添加菜单”按钮,会在菜单栏中增加一个“编辑”菜单项,预设中每次添加的菜单项都是“编辑”,这也是为了验证不要添加重复的菜单项,代码中的判断是一种方法,另外也可以通过菜单项的Caption属性来判断,不过之前最好设置AutoHotkeys和AutoLineReduction为maManual。在以下创建菜单项的代码中:
self.MainMenu1.AutoHotkeys:=maManual;
self.MainMenu1.AutoLineReduction:=maManual;
通过设置这两个属性可以禁止程序自动为菜单生成热键,否则程序会自动在菜单的Caption属性中加入热键,并且会修改Caption属性的值,给通过Caption属性判断菜单项带来麻烦。
- 2022-03-22 14:48:49下载
- 积分:1
-
Delphi实现流程图绘制程序附有源码
Delphi实现流程图绘制程序附有源码,看上去很专业、很高大上的样子。用来绘制工业生产流程图、软件开发流程图等。功能上像绘图软件,功能比较强大,运行界面如下图所示。生成的流程图可编辑文件扩展名为pf,本软件将自动识别。
- 2022-05-25 01:00:17下载
- 积分:1
-
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 演示使用演示Brush对象的各种风格
Delphi 演示使用演示Brush笔刷对象后生成的各种风格,一种演示了7种笔刷效果,定义了一个存储绘图风格的7维数组,然后使用For循环对绘图风格数组赋值,然后使用Canvas.Brush.Style来预览风格。这些笔刷风格都是浅色彩的风格。
- 2022-07-08 18:13:17下载
- 积分:1
-
Delphi 显示彩色数据表格
Delphi 显示彩色数据表格,对DBGrid数据表格进行美化,自定义任意行和任意列单元格显示不同的背景颜色,这样可实现特定数据显示不同的颜色,更利于报表的清淅直观。
- 2022-03-15 16:49:57下载
- 积分:1
-
Delphi TreeView来显示数据库信息
Delphi 使用TreeView来显示数据库信息,从数据库中读取数据,然后生成树形交叉节点的菜单,这种菜单通俗的叫做“树形菜单”,也是大家平时比较常见的菜单形式之一。
function TreeAddItem(Sender: TTreeView;ItemList: TStrings;BookMark: TBookMark;Resort: Boolean):TTreeNode;
var
ThisNode,Node: TTreeNode;
i: integer;
begin
Node := Nil;
for i := 0 to ItemList.Count-1 do
begin
ThisNode := TreeFindItem(Sender,Node,ItemList[i]);
if(ThisNodeNil) then Node := ThisNode
else begin
if I then begin
if I=0 then Node := Sender.items.Add(Node, Itemlist[i])
else Node := Sender.items.AddChild(Node, Itemlist[i]);
end
else begin
if I=0 then Node := Sender.items.AddObject(Node, Itemlist[i],Bookmark)
else Node := Sender.items.AddChildObject(Node, Itemlist[i],Bookmark);
end;
Node.stateIndex := Node.level + 1;
if Resort and (Node.parent nil) then Node.parent.alphasort;
end;
end;
Result := Node;
end;
- 2022-02-02 14:05:08下载
- 积分: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 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 定义鼠标ANI动画光标
ANI动画鼠标,为自己的鼠标定制了一个带笑脸动画的光标,类似于定义鼠标的样式,定义动画光标将改变鼠标默认的样式,这样定义的动画光标格式为ANI文件。
屏幕截图抓不到动画光标,这是神马情况?
- 2022-10-08 15:50:03下载
- 积分:1
-
Delphi 计算1到10之间的奇数和【源码】
Delphi 推荐到奇数,并计算1到10之间的奇数求和,这是个简单的数学问题,数学水平高,写出这种小程序并不难,趁机把代码帖出来吧:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
j:=0;
For i := 1 to 10 do
begin
if i mod 2 =0 then
Continue;
j := j+i;
Edit1.text := IntToStr(j);
end;
end;
- 2023-02-23 03:45:04下载
- 积分:1