如何使文件框(edit1),中的内容右对齐。(来就送分)

dcndcn 2004-07-02 01:28:20
edit文本框中的内容都是左对齐,那个属性能使它右对齐呀!谢谢!
...全文
185 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
22932565 2004-07-02
  • 打赏
  • 举报
回复
我想你要不并不是edit,因为你要右对齐就是为发输入数值型,对吗?
你了可以试试用其它的控件啊,图标是一个文本框中间写着123的那个控件,或都上网去找几个控件.
lijinghe1 2004-07-02
  • 打赏
  • 举报
回复
to aiirii: After the control has been created, these styles cannot be modified, except as noted.
-------------------------------------
只能继承edit,重新作。
YOHOYOHO 2004-07-02
  • 打赏
  • 举报
回复
接分
emeng 2004-07-02
  • 打赏
  • 举报
回复
up
wychero 2004-07-02
  • 打赏
  • 举报
回复
关注。
welllove88 2004-07-02
  • 打赏
  • 举报
回复
顶一下~~~~~~~~
VisualLion 2004-07-02
  • 打赏
  • 举报
回复
to: aiirii(ari-爱的眼睛)
你的ES_RIGHT 參數不好用啊。
gabrielnystrom 2004-07-02
  • 打赏
  • 举报
回复
procedure TEdit_Ex.CreateParams(var Params: TCreateParams);

begin

inherited;

if self.FTextOnRight then Params.Style:=Params.Style or ES_RIGHT;

end;
VisualLion 2004-07-02
  • 打赏
  • 举报
回复
mark
sanyou98 2004-07-02
  • 打赏
  • 举报
回复
up
zypcrp 2004-07-02
  • 打赏
  • 举报
回复
俺来学习的.
huayuxing 2004-07-02
  • 打赏
  • 举报
回复
承TEdit,重载CreateParams,修改Param即可。

procedure TEdit_Ex.CreateParams(var Params: TCreateParams);

begin

inherited;

if self.FTextOnRight then Params.Style:=Params.Style or ES_RIGHT;

end;
aiirii 2004-07-02
  • 打赏
  • 举报
回复
應該是用 ES_RIGHT 參數
aiirii 2004-07-02
  • 打赏
  • 举报
回复
如果你不想用控件, 也可用如下:

var
defstyle: dWord;
begin
defstyle := GetWindowLong(Edit1.Handle, GWL_STYLE);
SetWindowLong(Edit1.Handle, GWL_STYLE, defstyle or ES_NUMBER)
end;
aiirii 2004-07-02
  • 打赏
  • 举报
回复
http://www.scalabium.com/faq/dct0034.htm

是houwei1008(下雨天) 的方法
unit adpEdit;

interface

uses
SysUtils, Classes, Controls, StdCtrls, Graphics, Windows, Messages;

type
TadpEdit = class(TEdit)
private
FOldBackColor : TColor;
FColorOnEnter : TColor;
FAlignment: TAlignment;
FTabOnEnter: boolean;
procedure SetAlignment(const Value: TAlignment);

property OldBackColor : TColor read FOldBackColor write FOldBackColor;
protected
procedure DoEnter; override;
procedure DoExit; override;
procedure KeyPress(var Key: Char); override;

procedure CreateParams(var Params: TCreateParams); override;
public
constructor Create(AOwner:TComponent); override;
published
property Alignment : TAlignment read FAlignment write SetAlignment;
property ColorOnEnter : TColor read FColorOnEnter write FColorOnEnter;
property TabOnEnter : boolean read FTabOnEnter write FTabOnEnter;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('delphi.about.com', [TadpEdit]);
end;

{ TadpEdit }
procedure TadpEdit.CreateParams(var Params: TCreateParams);
const
Alignments: array[TAlignment] of DWORD = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
inherited CreateParams(Params);

with Params do
Style := Style or Alignments[FAlignment];
end; (*CreateParams*)

constructor TadpEdit.Create(AOwner: TComponent);
begin
inherited;

FColorOnEnter := Color;
Alignment := taLeftJustify;
end; (*Create*)

procedure TadpEdit.DoEnter;
begin
OldBackColor := Color;
Color := ColorOnEnter;

inherited;
end; (*DoEnter*)

procedure TadpEdit.DoExit;
begin
Color := OldBackColor;

inherited;
end; (*DoExit*)

procedure TadpEdit.SetAlignment(const Value: TAlignment);
begin
if FAlignment <> Value then
begin
FAlignment := Value;
RecreateWnd;
end;
end; (*SetAlignment*)

procedure TadpEdit.KeyPress(var Key: Char);
begin
inherited KeyPress(Key);

if TabOnEnter AND (Owner is TWinControl) then
begin
if Key = Char(VK_RETURN) then
begin
if HiWord(GetKeyState(VK_SHIFT)) <> 0 then
PostMessage((Owner as TWinControl).Handle, WM_NEXTDLGCTL, 1, 0)
else
PostMessage((Owner as TWinControl).Handle, WM_NEXTDLGCTL, 0, 0);
Key := #0;
end;
end;
end; (*KeyPress*)

end. (*adpEdit.pas*)
aiirii 2004-07-02
  • 打赏
  • 举报
回复
mark
江宁侯哥 2004-07-02
  • 打赏
  • 举报
回复
承TEdit,重载CreateParams,修改Param即可。

procedure TEdit_Ex.CreateParams(var Params: TCreateParams);

begin

inherited;

if self.FTextOnRight then Params.Style:=Params.Style or ES_RIGHT;

end;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧