一个修改过简化版的InputQuery
主要是觉得在单输入的情况下, 原来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;
一个修改过简化版的InputQuery的更多相关文章
- 一个修改过简化版的InputQuery(简单实用,用到了Canvas)
主要是觉得在单输入的情况下, 原来InputQuery输入框左边的文本太难看了...... function _InputQuery(const ACaption: string; const APr ...
- 【vim】跳转到上/下一个修改的位置
当你编辑一个很大的文件时,经常要做的事是在某处进行修改,然后跳到另外一处.如果你想跳回之前修改的地方,使用命令: Ctrl+o 来回到之前修改的地方 类似的: Ctrl+i 会回退上面的跳动.
- 记录一个修改application.properties时遇到的坑
有一个需求是会频繁修改配置文件中的常量,为了方便就会用unzip解压war包,修改propertites中的值后重新打war 包,部署,但是发现修改的值没有起作用,,一直在纠结...后来发现其实在编译 ...
- swing开发一个修改项目数据库连接参数配置文件
我们在开发web项目中,经常有properties配置文件配置数据库连接参数,每次修改的时候还要去找到配置文件,感觉有点麻烦,就用swing做了个小工具修改参数,运行界面如下: =========== ...
- 点击repeater的一个修改事件触发全部repeater每一行的修改事件
<td align="center"> <asp:LinkButton ID ="btnvip&q ...
- JS 一个修改ul的小示例
javascript提供了innerHTML属性可以获取和设置对象的文本内容. 下面实例演示——单击<ul>下的<li>标签后,改变其显示值: 1.HTML结构 <ul ...
- 10.30 开课一个月零二十六天 (PHP数据库修改)
1.先做一个修改页面 <body> <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页面的效果非常相似,直接把增加页面的代码复制过来--> &l ...
- 零基础学习java------35---------删除一个商品案例,删除多个商品,编辑(修改商品信息),校验用户名是否已经注册(ajax)
一. 删除一个商品案例 将要操作的表格 思路图 前端代码 <%@ page language="java" contentType="text/html; cha ...
- 小丁带你走进git的世界三-撤销修改
一.撤销指令 git checkout还原工作区的功能 git reset 还原暂存区的功能 git clean 还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...
随机推荐
- JavaScript方法——call和apply
1.相同点: a) 产生的效果或作用完全相同: b) 至少有一个参数: c) 第一个参数必须有且是一个对象(Object),因为就是这个家伙偷懒. 2.不同点: 传递参数的方式. 前提: 1.有两个对 ...
- sql语句中----删除表数据drop、truncate和delete的用法
sql语句中----删除表数据drop.truncate和delete的用法 --drop drop table tb --tb表示数据表的名字,下同 删除内容和定义,释放空间.简单来说就是把整 ...
- [Unity3D插件]2dToolKit系列三 碰撞检测功能的实现以及障碍物的随机摆放
貌似有一段时间没更新2dtoolkit系列了,这段时间一直在忙着其他事情,今天开始继续这个插件系列的教程,网上搜索,貌似关于这个插件的教程无非还是跟官方的教程很类似,有的甚至都没有自己照着亲手实践一遍 ...
- Winform实现用多线程、百度地图API解析某公司的物理地址
前言 作为一个很挫的C#新手总喜欢自己写点儿不着边际的东西,本人是个新手加菜鸟,写B/S的,工作中,任务完成了,空闲下来,总想继续学点儿什么,由此触发了本篇文章了.个人一直认为,.NET中,C/S所要 ...
- Linux第03天
Linux 第03天 1.Linux帐号和ACL权限管理 1.帐号和用户组 1.1 用户标识符————UID(root为0 系统用户为1~499 普通用户为500~65535) 1.2 用户组标识符— ...
- JAVA Day10
使用继承 编写继承: class Engineer{ //公共的属性和方法 } 编写子类,继承父类, class SoftEnineer extends Enginerr{ //子类持有的属性 ...
- python 异常
引用一段来自菜鸟教程的文章:http://www.runoob.com/python/python-exceptions.html Python 异常处理 python提供了两个非常重要的功能来处理p ...
- [我的试题]Test of String
1.前言 这是我出的第一套题目,话说感觉有点晚了,还是在向总安排下出的.我被安排的是字符串方面的内容,这应该相对而言是比较小众的知识点吧,但是一样的有作用的,也有很神的题目.所谓是NOIP模拟题,其实 ...
- redis 3.0的集群部署
转载请注明出处:http://hot66hot.iteye.com/admin/blogs/2050676 最近研究redis-cluster,正好搭建了一个环境,遇到了很多坑,系统的总结下,等到re ...
- phpcmsv9 阿里云OSS云存储整合教程
该教程算不上是phpcmsv9阿里云oss插件,所以整个修改及其代码覆盖前请一定记得备份.还有一点就是后台发布文章时上传的附件还是会保存在你的服务器上,基于以下原因:1.个人的需求是前台页面需要使用t ...