• Delphi Inputbox,InputQuery用法


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

  • 相关阅读:
    [CF724G]Xor-matic Number of the Graph
    [SOJ #537]不包含 [CF102129I]Incomparable Pairs(2019-8-6考试)
    [SOJ #538]好数 [CC]FAVNUM(2019-8-6考试)
    [洛谷P4052][JSOI2007]文本生成器
    [洛谷P3966][TJOI2013]单词
    [洛谷P5158]【模板】多项式快速插值
    [洛谷P3227][HNOI2013]切糕
    【bzoj】3477: [Usaco2014 Mar]Sabotage 01分数规划
    【SPOJ
    【以前的空间】系列
  • 原文地址:https://www.cnblogs.com/bestlove/p/6536679.html
Copyright © 2020-2023  润新知