几个Delphi小技巧

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

几个Delphi小技巧

1、判断Num Lock、Caps Lock、Scroll Lock指示灯状态

  以Num Lock为例:
  function IsNumLockOn() : boolean;
  begin
    Result := (GetKeyState(VK_NUMLOCK) and $01) <> 0;
  end;


  如果灯亮则返回True,不亮返回False。
  VK_NUMLOCK 替换成 VK_CAPITAL 或 SCROLL  则可以判断Caps Lock 或 Scroll Lock指示灯的状态。

2、更改ComboBox组件的下拉框的宽度

  ComboBox下拉框的宽度默认是与ComboBox的宽度(Width)相同的,所以如果ComboBox的Item内容长度比较长时,下拉框就显示不了。这时可以用代码更改下拉框的宽度,以显示完整内容:

  ComboBox1.Perform(CB_SETDROPPEDWIDTH, 600, 0);

  “600”表示新的宽度,可以根据需要修改。

3、激活当前的屏幕保护程序

  PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);

4、打开Windows查找对话框(需添加ShellAPI单元)

  ShellExecute(
      handle,
      'find', 
      'c:/windows', // 开始搜索的目录
      '', 
      '',
      SW_SHOW
     );


5、判断系统是否是使用大字体。如果用户设置显示效果是大字体,将会严重影响软件界面的显示。

  if Screen.PixelsPerInch = 96 then
  ;// 正常字体;

  if Screen.PixelsPerInch = 120 then
  ;// 大字体;


6、取消默认的Beep。Delphi的TEdit组件中用户按下回车键后,PC扬声器都会Beep一声。下面的代码用于取消这一声:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then key := #0;
end;

7、判断外部应用程序是否停止响应

procedure TForm1.Button1Click(Sender: TObject);
var
 H : THandle;
 lngReturnValue : longint;
 DWResult : DWORD;
begin
 H := FindWindow('Notepad', nil);  //要判断的程序
 if H > 0 then
  begin
    lngReturnValue := SendMessageTimeout(H, WM_NULL, 0,
      0, SMTO_ABORTIFHUNG And SMTO_BLOCK, 1000, DWResult);
    if lngReturnValue > 0 then
     ShowMessage('Responding')
      else
       ShowMessage('Not responding');
  end
   else
     ShowMessage('Application not found');
end;

Delphi XE 取得当前时间戳的几个函数 时间戳 delphi 阅读详情

相关推荐

Delphi读取文件和写入和DELPHI 操作的一些小技巧

Delphi读取文件和写入文件总结 --- 读取文件: 1,关联文件:AssignFile(pMyFile,'c:\ttt.csv'); 2,打开文件:Reset(pMyFile); 3,读取一行:Readln(pMyFile,pStr); 4,关闭文件:CloseF

2787

几个编程小技巧 关于 Delphi7_Lite_Full_Edition_Setup_7.3.4.3_Build_20110801

几个编程小技巧 关于 Delphi7_Lite_Full_Edition_Setup_7.3.4.3_Build_20110801 2013-12-10 14:36:19 由于在GExperts的Procedure List窗口中的Code View代码预览窗口中 是从函数名所在行开始显示的,所以填写注释内容时最好在函数名所在行的下一行开始 不要把函数的注释内容写在函数名之前 函...

weixin_30653097的博客 285

Java JNI 和 Delphi 相互調用(2)-Delphi調用Java

繼續前一篇。前幾天寫了  Java JNI 和 Delphi 相互調用(1)-JAVA調用DELPHI ,有朋友要求儘快寫“Delphi調用Java”,現在有空,就寫下去。DELPHI 調用 JAVA 的方法,作為入門也不算複雜,只是創建JVM的環境麻煩一些。進行的順序是:a.建立 JVM 環境b.創建 JAVA 環境實例c.找到 classd.找到方法e.調用方法f.結束如何得到 DELPHI

小橙的第一播 4970

delphi开发的小技巧

版权声明请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。   这是我从网上收集到的一些delphi开发的小技巧,现在与大家一起分享◇[DELPHI]网络邻居复制文件uses shellapi;copyfile(pchar(newfile.txt),pchar(//computername/di

我一路走来--- 1693

delphi小技巧总汇

◇[DELPHI]网络邻居复制文件uses shellapi;copyfile(pchar(newfile.txt),pchar(//computername/direction/targer.txt),false);◇[DELPHI]产生鼠标拖动效果通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL:var xpanel,ypanel

hlms的专栏 1757

Delphi小技巧

Delphi小技巧2007-01-01 16:17 在网上收集的一些小技巧,收藏起来。 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar(newfile.txt),pchar

687

一些delphi开发的小技巧

DBGrid雙擊獲取數據 procedure TForm4.DBGrid1DblClick(Sender:TObject); begin Edit4.Text :=DBGrid1.DataSource.DataSet.Fieldbyname('id').AsString ; Edit5.Text :=DBGrid1.DataSource.DataSet.Fieldbyname('

丿小敗丨灬丶親_聆聽CSDN專屬博客 932

DELPHI COMBOBOX 显示最近几个月份

想了解DELPHI COMBOBOX 显示最近几个月份,如当前是20090103,在COMBOBOX.ITEMS里显示'200810、200811、200812、200901'等四个选项。不对数据库访问。//返回最近几个年月 ...

cuiweigk19423的博客 164

几个delphi例子

一.设置开机启动时不在任务栏显示uses Registry; procedure Tsystembd.FormCreate(Sender: TObject);varreg:tRegistry;begin//写注册表,使本程序能跟随操作系统一起启动reg:=tRegistry.Create;tryreg.RootKey:=HKEY_LOCAL_MACHINE;if reg.OpenKey('SOFT

wq201110的专栏 1174

delphi编程集锦:小技巧,小方法

◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar(newfile.txt),pchar(//computername/direction/targer.txt),false); ◇[DELPHI]产生鼠标拖动效果 通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL: var xpanel,y

刘老师 1178

Delphi】常用的几个资源

Delphi中开源图像处理单元 TImage32等下载地址

sensor_WU 博客 722

delphi小技巧集锦

function GetKbStatus():string;//返回当前键盘状态,包括NumLoce、Caps Lock、Insert//每个状态信息占两个字符,顺序为:NumLoce、Caps Lock、Insert//Copy Right 549@11:29 2003-7-22var Status:string;    KeyStates:TKeyboard

1170

Java JNI 和 Delphi 相互調用(1)-JAVA調用DELPHI

JNI 不是什麼新技術,英文全稱是:Java Native Interface,JAVA本地化代碼接口。本地化代碼是指直接編譯成的與機器相關的二進制代碼,而不是Java字節碼之類的中間代碼。對於 JNI 的來龍去脈,不作介紹了,在 java.sun.com 有介紹,另外 BAIDU/GOOGLE 搜索,也有大把的。這裏僅僅做一個入門級的介紹和實現。JAVA發佈的是C/C++的接口文檔,DELPHI

小橙的第一播 9614

Delphi 实现网络下载的几个方法

CS开发中下载功能也相当实用,比如软件更新等,接下来我会介绍下载的几种方式。

众纳百川的博客 1178

Delphi编程实用小技巧(一)——listbox的拖拽

首先将listbox的属性:DrogMod  设置为dmAutomaticMultiselect 设置为 true代码:procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;  State: TDragState; var Accept: Boolean);begin a

蓝翼的博客 1002

DELPHI中DBCHART开发中的几个小问题

1,在DELPHI的实际开发中,我们都需要在程序中绑定数据源,以便更好的适应实际的开发需求,这里只是简单的做个介绍:我用的是FASTLINE,里面需要动态的绑定x,y轴,在DBCHART中可以直接设置,那么在程序中如何设置呢?          sSql := select scan_start_time,sum+(+trim(adoQtarget.FieldByName(nam

Rubi的专栏 7225

悟透delphi 第一章 delphi的原子世界

经过多方查找,总算基本找齐战哥的处女作《悟透delphi》的手稿。不敢独占,于是拿出来于大家共享。 第一章  DELPHI的原子世界第二章  DELPHI与WIN32时空第三章  多线程第四章  接口第五章  包第六章  事件与消息第七章  组织你的模块第八章  探索数据库第九章  多层体系结构第十章  操作界面与操作逻辑第十一章  面向对象数据库基础本书原著李战(leadzen)

我一路走来--- 8524
上一篇: zt:SQL语句导入导出大全
下一篇: 开发笔记:DELPHI中的拖动开发(1)(2)
libra01
博客等级 码龄26年 0粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值