-
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 【Frame3D】函数的应用实例-三维框源码
Delphi 函数【Frame3D】的应用,该函数用于在画布上绘制一个3维框图:
implementation
{$R *.dfm}
procedure TFrmFrame3D.FormCreate(Sender: TObject);
begin
Bc:=Rect(80,50,100,200);
end;
procedure TFrmFrame3D.FormPaint(Sender: TObject);
begin
Frame3D(canvas,Bc,clblack,clAppWorkSpace,2);
end;
procedure TFrmFrame3D.Button1Click(Sender: TObject);
begin
Bc:=Rect(strtoint(Edx.text),strtoint(Edy.Text),strtoint(EdH.Text),strtoint(EdW.Text));
Frame3D(canvas,Bc,clblack,clAppWorkSpace,2);
end;
- 2022-06-16 08:51:26下载
- 积分:1
-
Delphi 屏蔽键盘 sleep和wake up键
如何屏蔽sleep和wake up键,一个是待机键,一个是唤醒键,屏蔽可有效避免误操作,不过本代码过于简单,屏蔽效果有待测试,核心代码如下:
procedure TForm1.WMPowerBroadcast(var message: TMessage);
begin
message.Result := BROADCAST_QUERY_DENY;
end;
- 2022-06-30 14:51:25下载
- 积分:1
-
Delphi 与Java TCPIP通信的范例
这个Delphi例子我觉得值得看,用Java写了TCPIP通信的服务端,用Delphi写了客户端,两者在不同的语言环境下运行,并建立TCPIP通信,服务端的运行效果如示例截图所示。为了不发生消息乱码的现象,两者程序编码采用UTF8格式,用UTF-8格式发送出去,收到的UTF-8数据转成ANSI,这一部分的参考请参见util_utf8.pas文件,消息发送、服务器建立连接部分,请参见Unit1.pas文件。
- 2022-08-23 01:44:09下载
- 积分:1
-
一个包括了下拉菜单的Delphi窗口设计范例程序
一个包括了菜单的Delphi窗口设计范例程序,以一个销售管理系统的主窗口界面设计为例,演示在窗体中添加下拉菜单、主窗口显示区、状态栏、标题栏等窗口元素,比较适合Delphi初学者学习。窗口中的下拉菜单我认为需要掌握,在很多的Delphi应用程序中,都会有此需求,欢迎下载源码。
- 2022-12-24 17:00:02下载
- 积分:1
-
方格变换的Delphi图像显示,类似于马赛克
方格变换的Delphi图像显示,类似于那种动态的马赛克效果,电视上经常见到这种图像切换的效果,当然网页上的一些焦点图切换也会常见到这种图像转场的过渡效果,相比直来直去的切换,增加了一些视觉效果,不至于那么单调。
本效果适用的图像格式了BMP位图,其它图片格式未做测试。
- 2022-07-18 02:39:41下载
- 积分:1
-
Delphi 单击StringGrid列进行排序
Delphi 单击StringGrid列进行排序,StringGrid行的任意列单击,就会重新排序一次,排序规则可以自己定义,这种排序功能可有效提升StringGrid显示数据的易用性,增强其功能,提升用户体验,本例子源代码相当简单,对学习者也有很好的帮助作用。参见以下代码:
begin
if Button = mbRight then Exit;
TStringGrid(Sender).MouseToCell(X, Y, vCol, vRow);
if (vRow < 0) or (vRow >= TStringGrid(Sender).FixedRows) then Exit;
StringGridRowSort(TStringGrid(Sender), vCol, vOldCol = vCol);
if vOldCol = vCol then
vOldCol := - vOldCol
else
vOldCol := vCol;
end;
- 2022-05-29 23:30:47下载
- 积分:1
-
Delphi 百叶窗的方式显示图像
百叶窗效果的图像显示,这个效果我觉得大家不会陌生吧,在电视上、电脑上,这种切换图片显示的方式还是挺常见的,像百叶窗的样式,本效果重在演示图像的解析。
- 2022-02-04 23:25:14下载
- 积分:1
-
Delphi 实现组件立体阴影、投影效果
Delphi 为组件制作立体效果,实现组件的阴影、投影效果,这种阴影效果不是很细腻,不过大致也说得过去,必竟实现方法简单,原生Delphi方法实现,不依靠三方控件,最终效果请参见测试截图所示。
- 2022-07-03 03:09:14下载
- 积分:1
-
Delphi7利用鼠标绘制矩形焦点的源码
本源代码主要演示Delphi7利用鼠标绘制矩形焦点,画出虚线框矩形,按住鼠标左键抖动矩形区域,即可显示虚线矩形框,可应用于需要拖动选择对象时作为选区使用,在Delphi中,这个功能使用Canvas实现:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if IsDraw then
begin
if Count >1 then
DrawFocusRect(Canvas.Handle,FocuRect);
FocuRect.Right := X;
FocuRect.Bottom := Y;
DrawFocusRect(Canvas.Handle,FocuRect);
Inc(Count);
IsEndDraw := True;
end;
end;
- 2023-02-14 21:35:04下载
- 积分:1