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('请设置解锁密码','请设置解锁密码(不能为空):','');

转载于:https://www.cnblogs.com/bestlove/p/6536679.html

Delphi Inputbox,InputQuery用法相关推荐

  1. delphi FillChar的用法(转)

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

  2. Delphi WinExec ShellExec 用法介绍

    2019独角兽企业重金招聘Python工程师标准>>> Delphi WinExec ShellExec 用法介绍 在Windows程序设计中WinAPI也为我们提供了类似的函数,它 ...

  3. [Delphi]ListView基本用法大全

    Delphi ListView基本用法大全 //增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; L ...

  4. Delphi中Messagedlg用法

    Delphi中Messagedlg用法 if MessageDlg('即将退出,是否继续?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin ...

  5. Delphi ListView基本用法大全

    Delphi ListView基本用法大全 //增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; L ...

  6. Delphi ListView的用法(常用技巧) 作者:蓝色忧郁

    Delphi ListView的用法(常用技巧) 作者:蓝色忧郁 日期:2006-08-10 字体大小: 小 中 大 //增加   i := ListView1.Items.Count;   with ...

  7. Delphi 中 InputQuery 实现密码输入

    Delphi 中 InputQuery 实现密码输入 修改用户口令时为了避免自己建立新的口令修改窗口,借用delphi中的标准输入对话框. 实现代码如下: unit Unit1; interface ...

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

    本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: [delphi] view plaincopy //它使得你能够创建一个新变量, ...

  9. Delphi ShellExecute的用法

    请在interface处uses句中加入ShellAPI 有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess. 1.CreateProcess因为使 ...

  10. delphi webbrowser 经常用法演示样例

    var Form : IHTMLFormElement ;D:IHTMLDocument2 ; beginwith WebBrowser1 do beginD := Document as IHTML ...

最新文章

  1. vlmcsd-1111-2017-06-17
  2. Reverse Engineering Custom DataTypes - GUID() in SQL Server to PostgreSQL
  3. tmpfs 内存文件系统
  4. 一个用于SAP UI5学习的脚手架应用,没有任何后台API的依赖
  5. matlab怎么看输出电压纹波,教你如何正确取电源的输出纹波噪声值
  6. php 制作日记本,photoshop制作精美日记本
  7. Android项目导入高德地图
  8. 我的世界java版游戏图标_minecraftpe JAVA版游戏包mod
  9. 详述 PROCEDURES_ICD 患者手术情况表 (七)
  10. CRMPM如何帮助企业创造最优销售绩效
  11. 【华为校招】【校招】【Java】叠积木
  12. Leetcode刷题 2021.02.15
  13. 最优服务次序问题 水 NOJ1254
  14. JS的数据类型分类以及用法,没有这些基础,学不好js
  15. FineBI帮助文档一眼尽收眼底
  16. 常用String方法大全
  17. rocket基础知识
  18. 计算机屏幕闪烁黑屏,显示器屏幕一闪一闪的黑屏怎么办_电脑屏幕黑屏一闪一闪如何解决...
  19. 正则表达式语法----re模块
  20. JEWELCAD珠宝手饰设计视频教程 JewelCAD Pro v2.2.2

热门文章

  1. 数字版权保护(Digital Right Management,DRM)
  2. 你需要来自TrustedInstaller的权限才能对此文件夹进行更改(已解决)
  3. 注意力机制-CA注意力-Coordinate attention
  4. 6-2 两顶点之前有路径吗?
  5. PCB多层板设计规范
  6. win7用友u8安装教程_技术编辑教你在win7系统中安装用友u8的方案?
  7. [英语歌曲]老鹰之歌:If I Could (El Condor Pasa)
  8. Nextflow patterns
  9. 杂评 360和腾讯之争
  10. 学习日志之synthesis and optimization(7)——Heuristic optimization