-
Delphi 使用Canvas美化ListBox列表项
Delphi 使用Canvas美化列表项,当用户鼠标单击ListBox列表项时,该列表项高亮显示,改变背景色,文字居中对齐,如图所示。
主要是使用了Delphi中的Canvas.FrameRect对其进行美化,具体代码有兴趣可参考:
Canvas.FrameRect(Clientrect);
if odSelected in State then
begin
Canvas.Brush.Color:=clRed;
Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,8,15);
setBkMode(Canvas.Handle,TRANSPARENT );
Canvas.TextOut((Rect.right-Rect.Left) div 2,Rect.Top,Items.Strings[Index]);
end
else
begin
Canvas.Brush.Color:=clSkyBlue;
Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,15,15);
Canvas.TextRect(Rect,Rect.Left,Rect.Top,Items.Strings[Index]);
end;
- 2022-06-01 23:33:23下载
- 积分:1
-
在输入时按回车移动光标到一下文本框-Delphi示例
Delphi实现回车移动焦点的功能,当用户在输入时按回车键,将移动光标到一下文本框,这个功能我觉得可很好的提升软件的操作体验,为实现快捷输入近了一步。具体代码请参考如下:
begin
if Key = 13 then
begin
keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY,0); //按下
keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); //弹起
end;
end;
- 2022-08-21 20:36:32下载
- 积分:1
-
Delphi获取和设置汉字输入法
Delphi 获取系统中已安装的中文输入法,判断是否在中文状态,若是则关闭它,切换半角和全角模式,切换中文标点模式和英文标点模式,并对输入法做相关设置。以下是相关代码:
procedure TForm1.closecid;
var
mycid:hkl;
begin
mycid:=GetKeyBoardLayOut(0);
if ImmIsIME(mycid) then
//判断是否在中文状态,若是则关闭它
immsimulateHotkey(handle,IME_CHotKey_IME_NonIME_Toggle);
end;
procedure TForm1.FormShow(Sender: TObject);
var
j:integer;
begin
for j:=0 to screen.imes.count-1 do
begin
//获取系统中已安装的中文输入法
ComBoBox1.Items.Add(screen.Imes.strings[j]);
end;
end;
- 2022-10-19 03:05:03下载
- 积分:1
-
Delphi 创建独立的子窗体 脱离父窗口但可通过父窗口关闭
Delphi 创建多个独立的子窗体 脱离父窗口而显示,但是却可通过父窗口关闭打开的所有子窗口,就是通过主窗口内的关闭按钮,关闭独立于父窗口之外的子窗口,这个功能我感觉很实用吧,源代码中也包括了多个子窗口的代码,父子窗口之间是如何关联起来的呢,请参见这个源代码实例 。
- 2022-01-25 17:06:08下载
- 积分:1
-
Delphi 从剪贴板中读取图片
Delphi 从剪贴板中读取图片,Windows剪帖板相信大家都知道吧,这个程序可查看剪贴板中的图像,将图片另保存,可看作是一个查看剪贴板中图片的一个例子。
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Clipboard().Assign(Image1.Picture.Bitmap);
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if Clipboard().HasFormat(CF_BITMAP) then
Image2.Picture.Bitmap.Assign(Clipboard());
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Image2.picture := nil;
end;
end.
- 2022-06-13 13:08:12下载
- 积分:1
-
Delphi 把时间格式转换成字符串
Delphi 把时间格式转换成字符串来显示,在运行的程序界面中,选择一个指定的日期后,可将此日期转换成字符串格式的,也就是不再具备时间的属性,但是自身已经变为字符串了。人可以识别,但机器不再识别为时间了。
procedure TForm1.FormShow(Sender: TObject);
begin
DateTimePicker1.Date:=now();
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:=datetostr(DateTimePicker1.Date);
end;
- 2022-07-17 07:07:52下载
- 积分:1
-
Delphi获取电脑CPU硬件型号名称
Delphi获取电脑CPU硬件型号名称,这个可能不准确,我是64位 I5 3470 CPU,获取出来的是统称,不是太准确,可能是我系统的问题。不过这个代码是前几年书中的代码,现在的硬件发展快,也有可能是代码的问题,运行效果如下。
本获取CPU名称是根据注册表的方法获取的。
- 2022-07-06 23:12:47下载
- 积分:1
-
一个无标题栏窗体 如何拖动?Delphi方法示例
本源码主要演示,Delphi如何拖动一个无标题栏的窗体,此前记得与大分享过不少VB类的相似源码,大部分情况下,我们习惯拖动窗口的标题栏来移动窗口,现在我们把窗口的标题栏去掉了,那么是如何实现窗口的拖动呢?其实我们可以拖动窗口的主窗口部位,同样可以拖动窗口,而且这样似乎更方便操作,关于代码的实现,请大家下载源码后,查看Unit1.pas文件。
- 2022-09-30 14:35:03下载
- 积分:1
-
Delphi设计制作BMP图像的推拉动画效果
Delphi设计制作BMP图像的推拉动画效果,类似PPT幻灯片中的图像飞入效果,图片本应该在窗口上显示,但经过本代码的控制后,图像由底部向上部被推出来,其实就是由下到上的图片滑动效果,有兴趣的可下载源码参考主文件代码。
注:本程序好像只对BMP图像有效,其它格式如JPG/gif等图像暂且不支持该动画效果。
- 2022-02-03 23:17:10下载
- 积分: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