delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击
本问题由 delphi 学友QQ群中一位群友提出,个人觉得是一个好问题。
本教程面向新手,希望大家能从中学到除了本功能之外的真正编程技能。
本功能的实现原理,用窗口当对话框的界面,在界面上放两个TButton,再放一个TLabel用于显示信息,但要阻止键盘操作按钮,需要对按钮进行处理。详细说明在源代码中。
以下是新手教程
a) 去掉 TFrmMsgBox 中的全局变量:
菜单 Project ---> Options... ,或者按 ctrl + shift + f11 组合键,打开工程属性设置框,进行如图操作。


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

把 TFrmMsgBox 窗口从自动创建队列中除去,这是一步很重要的技能,有助于加强对面向对象编程思想的理解。
另外,窗口自动创建的代码,还可以在工程文件中找到。
菜单 Project ---> Source

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

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

F12 窗口与代码切换, shift + f12 ,可以选择目标窗口。
F11 在窗口上按 F11 ,就会出现属性编辑框。
c) 如何调试系统自带的单元。系统自带单元的函数,包括indy组件等,我们无法用F7进入函数。实现方法如下:
菜单 Project ---> Options... ,或者按 ctrl + shift + f11 组合键,打开工程属性设置框。


这样就是优先使用 debug 目录下的 dcu ,就可以调试系统自带的单元了。
delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击的更多相关文章
- JS实现屏蔽键盘操作
第一种:当页面初始加载的时候,屏蔽掉当前页面所有的键盘 $(document).ready(function () { document.body.onkeydown = function (even ...
- 远程控制篇:用Delphi模拟键盘输入/鼠标点击
模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数. Keybd_event函数能触发一个按键事件,也就是会产生一个WM_KEYDOWN或WM_KEYUP消息 ...
- 将CodedUI Test 放到控制台程序中,模拟鼠标键盘操作
CodedUI Test是微软的自动化测试工具,在VS中非常好用.可以用来模拟鼠标点击,键盘输入.但执行的时候必须要用mstest调用,无法传入参数(当然可以写入config文件中,但每次修改十分麻烦 ...
- 【转】Delphi的消息对话框
Delphi的消息对话框 输入输出inputBox()函数MessageBox()ShowMessage 对话框是Windows操作系统中程序与用户沟通的一种常见的交互方式,对话框可以向用户提供当前程 ...
- delphi的消息对话框
delphi的消息对话框,类似VFP中的WAIT和MESSAGEBOXdelphi的消息对话框,类似VFP中的WAIT和MESSAGEBOX1.最简单的是:showmessage() 它只有一个OK按 ...
- Delphi TFindDialog TReplaceDialog对话框在Memo中的使用
Delphi TFindDialog TReplaceDialog对话框的使用 下载地址1: http://download.csdn.net/detail/teststudio/6408383 ...
- js屏蔽键盘按键
3.1屏蔽键盘所有键 <script language="javascript"> <!-- function document.onkeydown(){ eve ...
- 经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法
经验总结:WebBrowser自动点击弹出提示框alert.弹出对话框confirm.屏蔽弹出框.屏蔽弹出脚本错误的解决办法 网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrows ...
- WinForm中为按钮添加键盘快捷键,超简单,亲测有效
博主并没有多少Windows平台下程序的开发经验,一年前使用过MFC设计过一个指纹识别系统的页面,后来就没有使用过几次.现在C#课程实验要求实现一个简易计算器,为了便于快速录入数据,使用键盘会比使用鼠 ...
随机推荐
- 火星A+B(字符串整形转化,进制)
Description 读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数.例如:地球上的10进制数2,在火星上记为“1,0”, ...
- OpenGL绘制简单的时钟(首发测试)
#include <windows.h> #include <GL/glut.h>//本来OpenGL程序一般还要包含<GL/gl.h>和<GL/glu.h& ...
- 关于上次我写的那个ATM程序 ,程序没有什么错,但是有些麻烦,两个类中有好多成员函数重复,因此我把ATM重新写了一边。
不好意思!但是现在这个程序比上次那个好多了,而且没有重复,程序看起来比较简练,以下是新程序: #include<iostream>#include<string>using n ...
- 从C++strStr到字符串匹配算法
字符串的匹配先定义两个名词:模式串和文本串.我们的任务就是在文本串中找到模式串第一次出现的位置,如果找到就返回位置的下标,如果没有找到返回-1.其实这就是C++语言里面的一个函数: extern ch ...
- nginx 几个参数
worker_processes : When set to 'auto', which is also the default behavior, Tengine will create the s ...
- leetcode Binary Tree Right Side View python
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = ...
- HTTP填坑
HTTP知识填坑 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",& ...
- 文件上传input type="file"样式美化
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- avalon.js实践 svg地图配置工具
MVVM模式,在很多复杂交互逻辑下面,有很大的优势.现在相关的框架也很多,现在项目中使用了avalon.js,选择它的原因,是兼容性的考虑,当然也要支持下国内开发大牛,至于性能方面的,没有实际测试过, ...
- android sdk 更新问题——截止2014年6月10日有效
因为墙的原因,很多人的sdk都更新不了,下面记录了我刚刚实现更新的方法: 进到Android SDK Manager,菜单Tools->Options..,这时弹出一个框,在这个框的下面Othe ...