Edit 欄位內,如何將文字向右邊靠齊? |
答題得分者是:wameng
|
kyusikin
一般會員 發表:18 回覆:13 積分:6 註冊:2003-03-27 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
不需要改元件的作法。
procedure TForm1.FormCreate(Sender: TObject); var AStyle:Longint; begin AStyle:=GetWindowLong(Edit1.Handle,GWL_STYLE); AStyle:=AStyle and (Not ES_LEFT); AStyle:=AStyle or ES_RIGHT; SetWindowLong(Edit1.Handle,GWL_STYLE,AStyle); end;發表人 - wameng 於 2004/10/25 19:06:08 |
kyusikin
一般會員 發表:18 回覆:13 積分:6 註冊:2003-03-27 發送簡訊給我 |
引言: 不需要改元件的作法。wameng 大大: 這實在是很棒的方法,可否請問您,倘若是運用在 StringGrid 之欄位上呢?譬如 StringGrid1.Cols[2] ,怎樣也可以達到欄位內的文字向右靠呢?procedure TForm1.FormCreate(Sender: TObject); var AStyle:Longint; begin AStyle:=GetWindowLong(Edit1.Handle,GWL_STYLE); AStyle:=AStyle and (Not ES_LEFT); AStyle:=AStyle or ES_RIGHT; SetWindowLong(Edit1.Handle,GWL_STYLE,AStyle); end;發表人 - wameng 於 2004/10/25 19:06:08 |
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 不需要改元件的作法。抱歉補充一下, 剛剛試了一下wameng大大的方法發現沒有反應, 查了一下MSDN, 才發現這樣設是不行的, MSDN是這樣寫的: To create an edit control using the CreateWindow or CreateWindowEx function, specify the EDIT class, appropriate window style constants, and a combination of the following edit control styles. After the control has been created, these styles cannot be modified. 所以要用william大大的方法才行.procedure TForm1.FormCreate(Sender: TObject); var AStyle:Longint; begin AStyle:=GetWindowLong(Edit1.Handle,GWL_STYLE); AStyle:=AStyle and (Not ES_LEFT); AStyle:=AStyle or ES_RIGHT; SetWindowLong(Edit1.Handle,GWL_STYLE,AStyle); end;發表人 - wameng 於 2004/10/25 19:06:08 |
kyusikin
一般會員 發表:18 回覆:13 積分:6 註冊:2003-03-27 發送簡訊給我 |
引言:抱歉喔,可是我是試過,wameng 提供的方法真的可行。請你再試試看。引言: 不需要改元件的作法。抱歉補充一下, 剛剛試了一下wameng大大的方法發現沒有反應, 查了一下MSDN, 才發現這樣設是不行的, MSDN是這樣寫的: To create an edit control using the CreateWindow or CreateWindowEx function, specify the EDIT class, appropriate window style constants, and a combination of the following edit control styles. After the control has been created, these styles cannot be modified. 所以要用william大大的方法才行.procedure TForm1.FormCreate(Sender: TObject); var AStyle:Longint; begin AStyle:=GetWindowLong(Edit1.Handle,GWL_STYLE); AStyle:=AStyle and (Not ES_LEFT); AStyle:=AStyle or ES_RIGHT; SetWindowLong(Edit1.Handle,GWL_STYLE,AStyle); end;發表人 - wameng 於 2004/10/25 19:06:08 |
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |