-
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实现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 获取两个子字符串之间的字符个数
Delphi 获取两个子字符串之间的字符个数,也就是这个字符串由A/B/C三个字符组成,本例子是求A/C中间的所有字符串的个数,空格同样也包括在内。定义两个函数即可实现本功能:
Function TForm1.Strcount( s, s1, s2 : string ): integer;
var
i,j,slen : integer;
begin
i := pos( s1, s );
j := pos( s2, s );
slen := Length(s1);
if j >= i then
Result := j - i - slen
else
Result := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
n : integer;
begin
n := Strcount(Edit1.Text,Edit2.Text,Edit3.Text);
showmessage(IntToStr(n));
end;
- 2022-01-26 07:45:23下载
- 积分:1
-
Delphi 使用ESC键停止循环
Delphi 使用ESC键停止循环,示例演示程序,单击按钮开始循环,按下键盘ESC键,将停止循环。程序核心代码:
begin
for i:= 0 to 9999999 do
begin
Edit1.Text := IntToStr(i);
//允许应用程序在循环中可以处理消息
Application.ProcessMessages;
//用是 ESC 键放弁循环
if GetKeyState(VK_ESCAPE) and 128 = 128 then
Break;
end;
end;
- 2022-03-24 17:07:24下载
- 积分:1
-
Delphi 用获取路径的方法得到圆形窗体
Delphi 用获取路径的方法得到圆形窗体,制作实现一个非矩形窗口,可以说是一个不规则窗口了,圆形的窗口,标题栏、状态栏及窗口关闭等操作按钮均不邮了。圆形窗口的基本实现思路是根据路径创建不规则窗体,然后设置窗口为透明模式,部分代码如下:
dc:=self.Canvas.Handle;
BeginPath(dc);
//根据路径创建不规则窗体
SetBkMode(dc,TRANSPARENT);
//设置为透明模式
Ellipse(dc,20,20,220,220);
EndPath(dc);
region:=PathToRegion(dc);
SetWindowRgn(self.Handle,region,TRUE);
end;
- 2022-05-16 23:17:16下载
- 积分:1
-
Delphi 图片颜色逐渐加深功能的实现
Delphi演示如何将一张图片的颜色加深,类似于调整对比度,不过本效果不加入了渐变加深的动画效果,按住按钮图片一直变暗下去,要知空间,你可看下以下代码:
Bitmap:=image1.Picture.Bitmap;
image1.Height:= Bitmap.Height;
image1.Width:= Bitmap.Width;
for i:=0 to 255 do
begin
sleep(10);
for y:=0 to Bitmap.Height-1 do
begin
pixcolo:=Bitmap.Scanline[y]; //扫描每行像素颜色
for x:=0 to ((Bitmap.Width*3)-1) do
//递减颜色值,不同的递减值可改变不同的速度
if pixcolo[x]>0 then pixcolo[x]:=(pixcolo[x]-1);
end;
Image1.Canvas.Draw(0,0,Bitmap);
Application.ProcessMessages; //让Application去处理消息队伍中的消息
end;
- 2022-03-23 16:34:19下载
- 积分:1
-
Delphi 邮件短信发送自动通知系统
Delphi 邮件短信自动通知系统,并且支持邮件发送、邮件帐户管理、类似于微软Windows中的Outlook邮件客户端的功能,可添加邮箱帐户自动收集,并在有新邮件时提示用户登录查看。本程序可发送适合到用户手机来通知邮件情况,部分功能需要依赖于硬件支持。
程序可最小化到windows托盘处显示图标,通过定义好的右键菜单来调出主窗口,虽然是一个发邮件的小程序,但是暗含的Delphi技巧有很多哦,欢迎下载源码研究学习。
1.实现邮件检测功能:
(1)注册账号,注意正确添写POP3服务器,用户名,密码。
2.实现发送短信功能:
(1)在注册账号时要添写正确的手机号码,并选中发送到手机的复选框。
(2)跟据自己购买的GSM模块说明书设置串口参数,一般是“19200,n,8,1”。
(3)添写当地短信中心号码,前面的86可加可不加,如果没有写,系统在按“确定”后会自动加上。
(4)注意:如果短信中含有中文字符,则一定要设成Pdu模式,否则短信可能发送失败。
- 2023-07-27 17:40:06下载
- 积分:1
-
delphi 获取网页源码
delphi 获取网页源码
- 2023-01-22 10:05:04下载
- 积分:1
-
Delphi 演示如何播放GIF动画
Delphi 演示如何播放GIF动画,其实就是在窗口中显示GIF图像,这是一种连续显示类似于动画效果的图像格式,在窗体上只要可以正常显示这种文件,就能实现播放功能,如示例截图所示的效果。
- 2023-05-10 00:50: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