-
圆角的窗体-Delphi代码实现方法
Delphi实现圆角的窗体效果,将矩形的窗口效果修饰为圆角的风格,如示例截图所示的效果,核心的几行代码如下:
begin
hr:=createroundrectrgn(0,0,width,height,20,20);//定义园角矩形(win API函数)
setwindowrgn(handle,hr,true); //设置园角窗口
end;
- 2022-08-18 21:29:53下载
- 积分:1
-
Delphi 应用程序背景与桌面融合在一起
Delphi 应用程序背景与桌面融合在一起,运行后,显示windows 桌面上的内容,显示壁纸,拖动窗口移动,桌面背景并不移动,好像是一个桌面相框一样,实现代码:
for i:=0 to ControlCount-1 do
if Controls[i] is TGraphicControl then
begin
//使TLabel组件不透明显示
Controls[i].perform(WM_PAINT, TLabel(Controls[i]).canvas.handle, 0);
end;
- 2022-02-02 23:31:59下载
- 积分:1
-
方格变换的Delphi图像显示,类似于马赛克
方格变换的Delphi图像显示,类似于那种动态的马赛克效果,电视上经常见到这种图像切换的效果,当然网页上的一些焦点图切换也会常见到这种图像转场的过渡效果,相比直来直去的切换,增加了一些视觉效果,不至于那么单调。
本效果适用的图像格式了BMP位图,其它图片格式未做测试。
- 2022-07-18 02:39:41下载
- 积分:1
-
Delphi 判断文件是否被占用
Delphi 判断文件是否被占用,这个在删除的时候,可以添加上此功能,因为文件占用的话,用户删除时会出错,用本代码可以先判断一下文件是否被占用,用弹窗方式告诉用户是否可以删除,如果没有被占用,则程序进行下一步处理。下面简要了解一下判断的具体代码(局部):
on E:EInOutError do
begin
if e.ErrorCode=32 then//文件正在被使用
begin
result:=true;
exit;
end;
end;
更完整的可编译源码,请下载。
- 2023-09-02 10:00:03下载
- 积分: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 制作的文字屏保
Delphi 制作的文字屏保,文字交替变化,晃动鼠标结束屏保。本程序的亮点是对文字动画效果的生成和控制。具有文字渐变和水平平移动画。
- 2022-03-28 23:49:31下载
- 积分:1
-
Delphi获取电脑CPU硬件型号名称
Delphi获取电脑CPU硬件型号名称,这个可能不准确,我是64位 I5 3470 CPU,获取出来的是统称,不是太准确,可能是我系统的问题。不过这个代码是前几年书中的代码,现在的硬件发展快,也有可能是代码的问题,运行效果如下。
本获取CPU名称是根据注册表的方法获取的。
- 2022-07-06 23:12:47下载
- 积分:1
-
Delphi7 获取文件的修改时间
Delphi7 获取文件的修改时间,这是一个文件操作实例源代码,获取到文件被修改的时间,代码简单,适合Delphi新手学习参考。
- 2022-03-25 03:51:22下载
- 积分:1
-
Delphi 获取全球标准时间
Delphi 通过网络获取全球标准时间,我们知道在Windows中有三个全球标准时间服务器,若你的电脑设置为自动更新时间,则系统自动会从这三台时间服务器中更新时间,你的电脑就不用自己校对时间了。本程序就是演示,用Delphi编写代码,去连接全球时间服务器,校对时间并更新系统时间的例子,你可通过本源码了解一下时间更新的问题。
- 2023-02-03 13:05:04下载
- 积分:1
-
Delphi 变速齿轮# 让时间变快减慢
Delphi 变速齿轮# 让时间变快减慢,其实这个似乎是做不到的,只是模拟一下,代码及描述如下:
procedure Speed(count:word); stdcall;
const ExceptionUsed = $03; { 中断号也可以用其它的中断号}
var
IDT : array [0..5] of byte; { 保存中断描述符表}
lpOldGate : dword; {存放旧向量}
begin
asm
push ebx
sidt IDT {读入中断描述符表}
mov ebx, dword ptr [IDT+2]{IDT表基地址}
add ebx, 8*ExceptionUsed {计算中断在中断描述符表中的位置}
cli {关中断}
mov dx, word ptr [ebx+6] {取6,7字节 另外4字节用于门属性和选择子 }
shl edx, 16d {左移16位}
mov dx, word ptr [ebx] {取1,2字节 }
mov [lpOldGate], edx {保存旧的中断门}
mov eax, offset @@Ring0Code {修改向量,指向Ring0级代码段}
mov word ptr [ebx], ax {低16位,保存到1,2字}
shr eax, 16d
mov word ptr [ebx+6], ax {高16位,保存到6,7位}
int ExceptionUsed {发生中断}
mov ebx, dword ptr [IDT+2] {重新定位到中断描述符表中}
add ebx, 8*ExceptionUsed
mov edx, [lpOldGate]
mov word ptr [ebx], dx
- 2023-02-13 04:55:03下载
- 积分:1