delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击

时间:2021-11-03 05:53:59

本问题由 delphi 学友QQ群中一位群友提出,个人觉得是一个好问题。

本教程源码下载

本教程面向新手,希望大家能从中学到除了本功能之外的真正编程技能。

本功能的实现原理,用窗口当对话框的界面,在界面上放两个TButton,再放一个TLabel用于显示信息,但要阻止键盘操作按钮,需要对按钮进行处理。详细说明在源代码中。

以下是新手教程

a) 去掉 TFrmMsgBox 中的全局变量:

菜单 Project ---> Options... ,或者按 ctrl + shift + f11 组合键,打开工程属性设置框,进行如图操作。

delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击

接下来,删除单元中的全局变量定义。

delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击

把 TFrmMsgBox 窗口从自动创建队列中除去,这是一步很重要的技能,有助于加强对面向对象编程思想的理解。

另外,窗口自动创建的代码,还可以在工程文件中找到。

菜单 Project ---> Source

delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击

红框中为自动创建的窗口的代码。进行上述操作后 Application.CreateForm(TFrmMsgBox,FrmMsgBox); 此句就会被删除。你手动删除此句,亦可。

delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击

b) 设置TFrmMsgBox 窗口的属性,让它没有右上角的叉,看起来像对话框。

delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击

F12 窗口与代码切换, shift + f12 ,可以选择目标窗口。

F11 在窗口上按 F11 ,就会出现属性编辑框。

c) 如何调试系统自带的单元。系统自带单元的函数,包括indy组件等,我们无法用F7进入函数。实现方法如下:

菜单 Project ---> Options... ,或者按 ctrl + shift + f11 组合键,打开工程属性设置框。

delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击

这样就是优先使用 debug 目录下的 dcu ,就可以调试系统自带的单元了。