一个修改过简化版的InputQuery
2024-10-16 19:10:59
主要是觉得在单输入的情况下, 原来InputQuery输入框左边的文本太难看了......
function _InputQuery(const ACaption: string; const APrompt: string; var AValue: string): Boolean;
var
nForm: TForm;
nEdit: TEdit;
nTop: Integer;
nTextMetric: TTextMetric;
begin
Result := False;
nForm := TForm.CreateNew(Application);
with nForm do
try
Canvas.Font := Font;
BorderStyle := bsDialog;
Caption := ACaption;
ClientWidth := ;
PopupMode := pmAuto;
Position := poScreenCenter;
nEdit := nil; GetTextMetrics(Canvas.Handle, nTextMetric); nTop := nTextMetric.tmAscent + ; nEdit := TEdit.Create(nForm);
with nEdit do
begin
Parent := nForm;
Left := ;
Top := nTop;
Width := nForm.ClientWidth - ;
MaxLength := ;
Text := AValue;
SelectAll;
Inc(nTop, Height + );
end; if APrompt <> '' then
begin
with TLabel.Create(nForm) do
begin
Parent := nForm;
AutoSize := False;
Caption := APrompt;
Font.Color := clGrayText;
Left := ;
Top := nTop;
Width := nForm.ClientWidth - ;
WordWrap := False;
Inc(nTop, Height + );
end;
end; with TButton.Create(nForm) do
begin
Parent := nForm;
Caption := '确定';
ModalResult := mrOk;
Default := True;
SetBounds(nForm.ClientWidth - Width * - - , nTop, Width, Height);
end;
with TButton.Create(nForm) do
begin
Parent := nForm;
Caption := '取消';
ModalResult := mrCancel;
Cancel := True;
SetBounds(nForm.ClientWidth - Width - , nTop, Width, Height);
nForm.ClientHeight := Top + Height + nTextMetric.tmAscent;
end;
if ShowModal = mrOk then
begin
AValue := nEdit.Text;
Result := True;
end;
finally
nForm.Free;
end;
end;
最新文章
- MySQL学习笔记十二:数据备份与恢复
- Spring Boot中静态资源(JS, 图片)等应该放在什么位置
- 从.NET平台调用Win32 API
- 模块化开发--sea.js
- iOS.StaticLibrary.1-avoid-duplicate-symbol-in-static-library[draft]
- java检测端口号是否配占用
- 《浅析各类DDoS攻击放大技术》
- .Net平台下的B/S开发框架
- [App]Android Studio First App
- 武汉科技大学ACM:1007: 陶陶摘苹果
- javascript实现模仿迅雷电影评分
- java正则表达式验证汉字
- 平时自己项目中用到的CSS
- React Native学习(三)—— 使用导航器Navigation跳转页面
- Ubuntu几个常用命令
- 2017-2018-2 20165231实验二《Java面向对象程序设计》实验报告
- Linux下的计算命令和求和、求平均值、求最值命令梳理
- String常用方法
- [记录] Mysql 复制表格结构
- Python基础笔记(二)