TEdit控件有右对齐属性吗?~~~~~~我怎么一直都找不到呢? View 菜單中有個Alignmentpl..即可操作. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可能误会了,我的意思是TEdit.text的右对齐,不是指Tedit在整个窗体上的对齐!谢谢参予 帮你解决unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CoolCtrls;type TMyEdit=Class(TEdit) private FTextAlign: TAlignment; procedure SetTextAlign(const Value: TAlignment); protected procedure CreateParams(var Params: TCreateParams); override; published property TextAlign: TAlignment read FTextAlign write SetTextAlign default taLeftJustify; end; TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private Edit:TMyEdit; { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}{ TMyEdit }procedure TMyEdit.CreateParams(var Params: TCreateParams);const Alignments: array [TAlignment] of DWord = (ES_LEFT, ES_RIGHT, ES_CENTER);begin inherited CreateParams(Params); with Params do Style := Params.Style or ES_MULTILINE or Alignments[FTextAlign];end;procedure TForm1.FormCreate(Sender: TObject);begin Edit:=TMyEdit.Create(Self); Edit.Parent:=Self; Edit.Align:=alTop; Edit.Text:='aaaa';end;procedure TMyEdit.SetTextAlign(const Value: TAlignment);begin FTextAlign := Value; RecreateWnd;end;procedure TForm1.Button1Click(Sender: TObject);Var i:Word;begin i:=ORD(Edit.TextAlign)+1; i:=i MOD 3; Edit.TextAlign:=TAlignment(i);end;end.可别忘了加分:) procedure TForm1.ButtonClick(Sender: TObject);var Style: DWORD;begin Style := GetWindowLong(Edit1.Handle, GWL_STYLE); Style := Style or ES_RIGHT; SetWindowLong(Edit1.Handle, GWL_STYLE, Style); Edit1.Invalidate;end; //点击后左右对齐切换procedure TForm1.ButtonClick(Sender: TObject);var Style: DWORD;begin Style := GetWindowLong(Edit1.Handle, GWL_STYLE); if (Style and ES_RIGHT) = ES_RIGHT then Dec(Style, ES_RIGHT) else Style := Style + ES_RIGHT; SetWindowLong(Edit1.Handle, GWL_STYLE, Style); Edit1.Invalidate;end; 我想用memo代替eidt就可以了,只要设置相应的属性 you can find a free VCL from the www.delphi32.com copy_paste(木石三) 的答案更直观一些,但是D6 Win2k 不起作用,不知何故? XP下,或者BC没问题 窗体创建问题,经典老难题? 怎么得到类似任务管理器一样的功能啊 9月3日是法定的中国抗战胜利纪念日 请各位帮忙 如何获得本机的“计算机名称”“工作组”“当前IP”? delphi7的报表工具怎么用? query语句实现dbgrid显示效果问题?? 关于非技术区的帖子问题,还请各位发表意见! 为什么我今天的程序按了F9编译,但是在目录里面却没有EXE这样的运行文件 远程控制高手请帮助。救我,。。。。。。。。@!@$#@%&^& 用printer打印时如何获得纸张的长度和宽度?????????????????????????????????? 高手帮忙呀!adoquery的问题呀!
谢谢参予
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, CoolCtrls;type
TMyEdit=Class(TEdit)
private
FTextAlign: TAlignment;
procedure SetTextAlign(const Value: TAlignment);
protected
procedure CreateParams(var Params: TCreateParams); override;
published
property TextAlign: TAlignment read FTextAlign write SetTextAlign default taLeftJustify;
end;
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
Edit:TMyEdit;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}{ TMyEdit }procedure TMyEdit.CreateParams(var Params: TCreateParams);
const
Alignments: array [TAlignment] of DWord = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
inherited CreateParams(Params);
with Params do
Style := Params.Style or ES_MULTILINE or Alignments[FTextAlign];
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Edit:=TMyEdit.Create(Self);
Edit.Parent:=Self;
Edit.Align:=alTop;
Edit.Text:='aaaa';
end;procedure TMyEdit.SetTextAlign(const Value: TAlignment);
begin
FTextAlign := Value;
RecreateWnd;
end;procedure TForm1.Button1Click(Sender: TObject);
Var i:Word;
begin
i:=ORD(Edit.TextAlign)+1;
i:=i MOD 3;
Edit.TextAlign:=TAlignment(i);
end;end.可别忘了加分:)
var
Style: DWORD;
begin
Style := GetWindowLong(Edit1.Handle, GWL_STYLE);
Style := Style or ES_RIGHT;
SetWindowLong(Edit1.Handle, GWL_STYLE, Style);
Edit1.Invalidate;
end;
procedure TForm1.ButtonClick(Sender: TObject);
var
Style: DWORD;
begin
Style := GetWindowLong(Edit1.Handle, GWL_STYLE);
if (Style and ES_RIGHT) = ES_RIGHT then
Dec(Style, ES_RIGHT)
else
Style := Style + ES_RIGHT;
SetWindowLong(Edit1.Handle, GWL_STYLE, Style);
Edit1.Invalidate;
end;