Delphi :InputQuery,InputBox用法及区别

function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean; 
InputQuery返回值为是否点了OK 输入的字符串放在了变量Value中 

function InputBox(const ACaption, APrompt, ADefault: string): string; 
inputBox返回值是字符串,也就是输入的字符串

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
//点击了OK按钮后,则
if InputQuery('标题','提示字符',s) then
begin
if s<>'' then //如果输入不为空则
   showmessage(s);
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
s:string;
begin
s:=InputBox('标题','提示字符',s);
if s<>'' then
showmessage(s);
end;

Delphi通过自定义消息自定义Inputbox,使其支持掩码并修改按钮的caption

首先自定义一个消息ID

const
InputBoxMessage = WM_USER + 200;

接着声明并实现该消息的处理过程

procedure InputBoxSetPasswordChar(var Msg: TMessage); message InputBoxMessage;//声明

procedure Tfrm.InputBoxSetPasswordChar(var Msg: TMessage);//实现
var
hInputForm, hEdit, hButton: HWND;
begin
hInputForm := Screen.Forms[0].Handle;
if (hInputForm <> 0) then
begin
    hEdit := FindWindowEx(hInputForm, 0, 'TEdit', nil);
    SendMessage(hEdit, EM_SETPASSWORDCHAR, Ord('*'), 0);
      // Change button text:
    hButton := FindWindowEx(hInputForm, 0, 'TButton', 'Cancel');
    SendMessage(hButton, WM_SETTEXT,0, Integer(PChar('取消')));
    hButton := FindWindowEx(hInputForm, 0, 'TButton', 'OK');
    SendMessage(hButton, WM_SETTEXT,0, Integer(PChar('确定')));
end; 
end;

使用自定义后的InputBox

PostMessage(Handle, InputBoxMessage, 0, 0);
InputBox('请设置解锁密码','请设置解锁密码(不能为空):','');

Delphi Inputbox,InputQuery用法的更多相关文章

  1. [原创] Delphi InputBox、InputQuery函数

    Delphi InputBox.InputQuery函数 两个函数都是弹框提示输入信息 function InputQuery(const ACaption, APrompt: string; var ...

  2. (转载)Delphi TStringList的用法

    Delphi TStringList的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. TStringList 常用方法与属性: var List: TStringL ...

  3. Delphi TStringList的用法

    Delphi TStringList的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. TStringList 常用方法与属性: var List: TStringL ...

  4. Delphi XE4 TStringHelper用法详解

    原文地址:Delphi XE4 TStringHelper用法详解作者:天下为公 Delphi XE4的TStringHelper,对操作字符串进一步带来更多的方法,估计XE5还能继续用到. Syst ...

  5. delphi FillChar的用法(转)

    delphi FillChar的用法(转) (2012-12-24 15:12:06) 转载▼ 标签: it 分类: delphi7 FillChar的用法(delphi) Fillchar是Turb ...

  6. Delphi常用关键字用法详解

    本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, ...

  7. Delphi中Messagedlg用法

    if MessageDlg('Welcome to my Delphi application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrY ...

  8. Delphi GDI+基本用法总结

    GDI+以前只是听说过,还没怎么用过,这段时间用了用,觉得挺好用的.在这里总结一下.留个备忘. GDI+(Graphics Device Interface plus)是Windows XP中的一个子 ...

  9. delphi idhttp 实战用法(TIdhttpEx)

    以delphi XE8 自带indy(10.5.8.0)组件为例,分享实战中遇到的问题及解决方法. TIdHttpEx 用法实例01[多线程获取网页](包含完整源码) 实例02(如何Post参数,如何 ...

随机推荐

  1. c++ 中lambda

    C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作. 1.Lambda表达式完整的声明格式如下: [capture list] (params list) mutable  ...

  2. requestAnimationFrame Web中写动画的另一种选择

    HTML5和CSS3盛行的今天  动画变得很简单实现 我们可以用transition . animation + keyframe .也可以用canvas等 我在上一篇 点击回到顶部的文章中发现的这个 ...

  3. .net mvc 利用分部视图局部刷新.

    页面利于$.Ajax: $(function(){ $("#btnpartview").click(function () { var model = []; model.push ...

  4. 常用Mysql数据库操作语句

    用户管理: 1.新建用户: 语法msyql>CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username - 你将创建 ...

  5. N阶台阶问题(详解)

    原创 问题描述: 有N阶台阶,每一步可以走1步台阶或者2步台阶,求出走到第N阶台阶的方法数. 解题思路: 类似于建立树的过程 1 2 1 2   1 2  1        2      1    2 ...

  6. OpenShift实战(二):OpenShift节点扩容

    1.新增节点信息 增加节点如下,请将xxx改为自己的域名 node6.xxx.net Node 192.168.8.90 8G 20G/60G 4C node7.xxx.net Node 192.16 ...

  7. SpringBoot14 SpringBoot整合mybatis

    1 版本说明 springboot:2.0 jdk:1.8 2 创建springBoot项目 创建项目时勾选必要web,MySQL,mybatis相关依赖 创建完成后再pom文件中添加自动部署.lom ...

  8. split 过滤空的元素

    命令形式: split(str='',number=string.count(str))[n] str 分隔符 number 切分几次,[n] 获取第几个值. 1.如果切分的可迭代对象中包含空元素的解 ...

  9. 怎样使用下载的bootstrap模板?

    核心文件bootstarp.css和bootstarp.js导入到页面,然后看着官网的代码复制进去用就可以了.网上是有不少教程的.实际上就是加class 属性 ,如:http://www.runoob ...

  10. HTTP协议的消息头:Content-Type和Accept的作用

    一.背景知识 1.概述 Http报头分为通用报头,请求报头,响应报头和实体报头. 请求方的http报头结构:通用报头|请求报头|实体报头 响应方的http报头结构:通用报头|响应报头|实体报头 Acc ...