-
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 鼠标双击TStatusBar时判断是哪一个panels
Delphi 鼠标双击TStatusBar时判断是哪一个panels,这个是把窗口的状态栏分隔,每个隔断中显示不同的内容,用鼠标双击不同的隔断,程序将判断用户点击了哪个隔断,并获取到该栏中的文字内容显示出来。
- 2023-02-09 01:20:03下载
- 积分:1
-
EI3.0(DELPHI源码)
EI3.0(DELPHI源码),据说挺完整的,可以下载一下试试
- 2022-03-30 08:16:31下载
- 积分:1
-
Delphi使用AES算法加密源码下载
整合网上下载到的资源(ElAES.pas,AES.pas),在Delphi7下编译后,测试能用
- 2023-07-07 06:10:03下载
- 积分:1
-
Delphi获取BMP图片指定点RGB值
delphi获取图片指定点RGB颜色值,载入一张BMP图像,鼠标单击图像任意处,将获取该处的RGB颜色分量图。任何一种颜色都是由RGB分量值构成,获取这些分量值,就可以改变这些值,从而改变颜色,为程序的进一步处理提供基础保障,获取RGB颜色分量,相关代码如下:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
image1.Picture.LoadFromFile(OpenPicturedialog1.FileName);
Form1.Canvas.Draw(0,0,image1.Picture.Bitmap);
end;
end;
- 2023-09-03 19:00: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利用自定义消息实现的进程内部通讯的例子,附上了完整的源码,运行的效果如图所示。
本程序作者:王毅 , 陈立亮 , 刘蓉,在Windows2000环境下用Delphi6.0调试通过。
本例子中主控程序采用FindWindow()函数找寻底层工作程序,从而实现通讯。底层工作程序在调试时请先生成可执行文件,然后关闭Delphi编辑器,运行可执行文件进行调试。如果不关闭Delphi编辑器,底层工作程序窗口在处于最小化时将无法正常工作,因为FindWindow()返回的是Delphi编辑器中该窗口的句柄。
- 2022-07-04 09:38:31下载
- 积分:1
-
Delphi 键盘钩子 封锁 windows 热键
Delphi 键盘钩子 封锁 windows 热键,封锁范围,可参见以下代码:
keycost := LPKBDLLHOOKSTRUCT(lParam);
if (keycost.vkCode=91) then//封锁win键
exit;
if (keycost.vkCode=VK_ESCAPE) and (GetAsyncKeyState(VK_CONTROL)0) then
exit; //封锁 ALT+TAB
if (keycost.vkCode=115) and ((keycost.flags and LLKHF_ALTDOWN)>0) then
exit; //封锁 ALT+F4
if (keycost.vkCode=VK_ESCAPE) and ((keycost.flags and LLKHF_ALTDOWN)>0) then
exit; //封锁 ALT+ESC
if (keycost.vkCode=VK_SPACE) and (GetAsyncKeyState(VK_CONTROL)
- 2023-03-30 06:05:03下载
- 积分:1
-
Delphi 7.0 在局域网内发消息
Delphi 7.0 在局域网内发消息,这个本站收集有很多例子了,学习Delphi网络编程可参考的例子,Delphi网络发消息,局域网发消息的例子,敬请关注。
局域网内发消息核心代码:
procedure TFrmSendMessage.Sendmessage(const msg,tomachine,from:string);
var
ms:PWideChar;
begin
ms:=PWIDEChar(WideString(msg));
NetMessageBufferSend(nil,pWidechar(WideString(tomachine)),pWidechar(WideString(from)),ms,length(msg)*2);
end;
procedure TFrmSendMessage.BtnSendClick(Sender: TObject);
begin
Sendmessage(mmMessage.Text,EDTo.Text,EDFrom.Text);
end;
- 2022-04-01 17:32:07下载
- 积分:1
-
Delphi GetCurrentDirectory得到系统当前目录
得到系统当前目录,Delphi 得到系统当前目录,这里使用了内置的GetCurrentDirectory函数来实现,比较方便,也比较简单。获取到系统目录后,是通过窗口的标题栏显示目录路径信息,在演示截图上请看窗口的标题栏,显示有程序当前所在的路径。关于GetCurrentDirectory用法,请参见以下两行代码:
GetCurrentDirectory(255,dir);//获得当前目录
form1.Caption:=dir;
- 2022-07-07 13:11:54下载
- 积分:1