全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2148
推到 Plurk!
推到 Facebook!

如何讓動態TEdit 的值靠右邊對齊

答題得分者是:pceyes
rany
一般會員


發表:15
回覆:26
積分:8
註冊:2007-05-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-08-06 14:57:50 IP:220.132.xxx.xxx 訂閱
請問各位大大,

我宣告了動態Edit時有給Name
>>MyEdit:array of TEdit;......
>>MyEdit[i].Name :=MyEdit01;.......


然後再將資料庫讀到的值塞進去
>>TEdit(FindComponent('Myedt01')).Text:= AdoQuery.FieldByName('金額').Value;

因為,我的來源資料的Type是Number,所以希望能靠右邊對齊
有爬文到剛好是動態EDIT的範例:
[url]http://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=30463[url]
但是因為看不懂BCB的CODE,不知道可否請了解的大大再多作解說。在此先謝謝大家!QQQ....


PS:本問題為此問題之延伸題
[url]
http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=94541[url]
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-08-06 15:50:06 IP:122.118.xxx.xxx 訂閱
其實也不用研究它了,因為它是用BCB寫一個可以的改Align的edit元件。
如果要這樣,那妳改用個元件就好了。

Delphi 新手問題 / 作業研討 » Edit如何靠右显示??
http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=92702
------
努力會更接近成功
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-08-06 16:08:01 IP:122.118.xxx.xxx 訂閱
隨便抄抄,用可。
[code delphi]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

TAlign = (eaLeft, eaCenter, eaRight);
TAlignEdit = class(TEdit)
private
{ Private-Deklarationen }
FAlign: TAlign;
procedure SetAlign(const Value: TAlign);
protected
{ Protected-Deklarationen }
procedure CreateParams(var Params: TCreateParams); override;
public
{ Public-Deklarationen }
published
{ Published-Deklarationen }
property Alignment: TAlign read FAlign write SetAlign default eaLeft;
end;

var
Form1: TForm1;
Alignedit :TAlignedit;

implementation
{$R *.dfm}
procedure TAlignEdit.SetAlign(const Value: TAlign);
begin
if FAlign <> Value then
begin
FAlign := Value;
RecreateWnd;
end;
end;

procedure TAlignEdit.CreateParams(var Params: TCreateParams);
begin
inherited;
case FAlign of
eaLeft: Params.Style := Params.Style or ES_LEFT;
eaCenter: Params.Style := Params.Style or ES_CENTER;
eaRight: Params.Style := Params.Style or ES_RIGHT;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
AlignEdit := TAlignEdit.Create(self);
Alignedit.Parent := form1;
Alignedit.Alignment := eaRight;
end;
end.

[/code]
------
努力會更接近成功
rany
一般會員


發表:15
回覆:26
積分:8
註冊:2007-05-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-08-06 17:09:41 IP:220.132.xxx.xxx 訂閱
我有把元件從Library加進來了,只知道要user 它(AlignEdit) ...但是不會套用
目前狀況是
我有著拉一個Button測試這段code,從Form上自動產生了一個Edit 所輸入的值是可以靠右的
MyEdit[i]:= TEdit.Create(Self);
MyEdit[i] .........

再麻煩一下pceyes大大呦~ .....QQQ
編輯記錄
rany 重新編輯於 2008-08-06 17:19:30, 註解 嘗試MyEdit[i].Align := eaRight; 但出現[Error] frmMain.pas(319): Incompatible types: 'Controls.TAlign' ‧
rany
一般會員


發表:15
回覆:26
積分:8
註冊:2007-05-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-08-06 17:34:46 IP:220.132.xxx.xxx 訂閱
哈~突然靈機一動,成功嚕
把原本宣告的TEdit 改成原件設定的AlignEdit


STEP1:VAR MyEdit:array of TAlignedit;

STEP3:
MyEdit[i]:= TAlignedit.Create(Self);
........
MyEdit[i].Alignment := eaRight;


謝謝pceyes囉.....
系統時間:2024-04-28 18:41:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!