通过下面的组件,可以在输入文字的时候自动垂直居中
直接把下面代码保存到Unit1.pas即可
------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TEdit = class(StdCtrls.TEdit)
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure KeyPress(var Key: Char); override;
procedure WMSize(var msg: TWMSize);message WM_SIZE;
procedure SetParent(AParent: TWinControl);override;
procedure SetCenter;
end;
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
Edt: TEdit;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TEdit }
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
//if Key = #13 then
// ShowMessage('输入了回车键');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edt := TEdit.Create(self);
Edt.Parent := self;
Edt.AutoSize := False;
Edt.Height := 50;
end;
procedure TEdit.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := Params.Style or ES_MULTILINE;
end;
procedure TEdit.KeyPress(var Key: Char);
begin
inherited;
if Key = #13 then
key := #0;
end;
procedure TEdit.WMSize(var msg: TWMSize);
begin
inherited;
SetCenter;
end;
procedure TEdit.SetParent(AParent: TWinControl);
begin
inherited;
if Parent <> nil then
begin
SetCenter;
end;
end;
procedure TEdit.SetCenter;
var
DC: HDC;
SaveFont: HFont;
Sin: Integer;
SysMetrics, Metrics: TTextMetric;
Rct: TRect;
begin
DC := GetDC(0);
GetTextMetrics(DC, SysMetrics);
SaveFont := SelectObject(DC, Font.Handle);
GetTextMetrics(DC, Metrics);
SelectObject(DC, SaveFont);
ReleaseDC(0, DC);
if Ctl3D then Sin := 8 else Sin := 6;
Rct := ClientRect;
Sin := Height - Metrics.tmHeight - Sin;
Rct.Top := Sin div 2;
SendMessage(Handle, EM_SETRECT, 0, Integer(@Rct));
end;
end.
当这个保存成unit1.pas 后,然后通过delphi组件安装功能来安装组件,具体安装方法可以到网上查方法
转至:http://bbs.2ccc.com/topic.asp?topicid=419284
本文地址:http://www.xszlo.com/article/2012-12-22/7648.html,转发请保留这个地址,谢谢
分享到:
相关推荐
调整 TEdit 文本对齐,限制Edit只能输入数字或其它字符
delphi过滤TEdit的输入内容 delphi过滤TEdit的输入内容
改进后的EDIT类型控件,继承自TEDIT类 新加属性: MAXLENGTH:最大长度,为“0”时不限制 DIGITS:小数位数,当VALUETYPE设为XgDouble时有效 VALUETYPE:输入限制类型 XgNormal:正常,不...
只允许输入数字的Tedit组件Delphi用法..rar
在文本框的下面是一个新的TEdit,可以在其中输入文字,这个新的文本框是用图像控件制作的。 核心技术:Edit特效,EditBmp(),SetBounds(),LoadFromFile(),mbleft=button Google搜索:TEdit with background graphic, ...
3-7 编译信息的显示 3-8 调试器方面的改进 3-8-1 Watch List改进 3-8-2 Debugger选项的改进 3-8-3 Run Parameters对话框的改进 第4章 Delphi Object Pascal的初步印象 4-1 面向对象程序概论 4-1-1 类 4-1-...
Delphi消除在TEdit控件中按下回车键时的声音,默认情况下是有声音的,本程序会去掉这种操作音,变得很沉静。
Delphi获取鼠标指定的空间的句柄,并获取控件的类名和属性值。鼠标拖动点击的特效,非常实用,功能简单,自己开发勿喷。
Delphi7 VCL继承关系全图
DelphiXE7取代默认的ActionList编辑器。其他XE版本应该可以用。Delphi5或7需要修改代码。 默认的编辑器只能看到Action的名称,不能看到标题,因此做了这个编辑器。 增加了以下功能: 1、ListView显示Action的标题,...
项目中以前象TEdit这样的控件不小心输入法变成了中文,由于有很多,所以写个工具来自动删除项目中的输入法,生成以后会在原有基础上生成一个备份文件_bak,确认删除成功以后可以批量搜索*.dfm_bak文件删除掉即可:)
《Delphi 7 新概念百例》是一本通过讲解Delphi实例,来说明使用Delphi编程时通常采用的编程思路以及具体方法的计算机书籍。通过对每个实例从编程思路和代码实现的详细分析和讲解,力求带领读者快速地提高自己的程序...
Delphi为TEdit控件添加列表选择框,Delphi基础知识例子,在一个供录入的表单中,添加一个下拉框,让用户通过选择下拉框的内容完成输入,可提升软件操作体验,下拉列表框中的数据还可以从数据库读取出来显示。...
7-7-1 一般纯虚函数的多态实现概念 7-7-2 纯虚函数的定义语法及实现 7-8 Self、AS、is、Sender、Parent、owner、inerited 7-8-1 Self变量 7-8-2 AS运算符 7-8-3 is运算符 7-8-4 Sender ...
如果你对Delphi中的ListBox控件用法不熟悉,那么本示例会是一个很不错的用法范例,在代码部分,还演示了结合数据库来读取数据交显示到ListBox中的方法。一些ListBox用法代码: if ListBox.ItemIndex>-1 then ...
How to set allignment in textbox component
matlab开发-TEDIT。tedit使用模板创建m文件。
修改系统时间_Delphi修改windows7系统时间的开源源码,按照提示输入新的时间,点击“修改”按钮后即可改变windows当前时间,主要是学习delphi7和windows之间的时间接口,如何操作等。相关代码如下: For i := 0 to...
TEdit TEdit is a simple text editor for Android devices. TEdit includes a graphical file browser to make locating existing files and saving new files easy. Additionally TEdit enables you to keep ...