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

  • 相关阅读:
    《学习要像加勒比海盗》读书摘录
    【转载】关于软件测试的几点思考
    黑客与画家 摘录
    基于Jenkins的持续集成CI
    重新开始,整装出发
    java重写equals方法需要注意的几点
    《Google软件测试之道》摘录
    Using sql azure for Elmah
    Invalid object name ‘sys.configurations’. (Microsoft SQL Server, Error: 208)
    Cannot install ubuntu or other linux flavours on citrix Xen server
  • 原文地址:https://www.cnblogs.com/bestlove/p/6536679.html
Copyright © 2020-2023  润新知