請問如何assign一個 TLabel元件給另一個Tlabel元件呢 |
尚未結案
|
tommylee926
一般會員 發表:24 回覆:25 積分:9 註冊:2003-08-17 發送簡訊給我 |
小第現在有二個 Tlabel元件,分別為Label1 Label2
而Label2是 動態 產生地,當我設定Label1->Caption = "abcd EFGHIJKL mno";
若我想把文字裡面的 "EFGHIJKL" 的 ”位址" assign給Label2也就是 ===========================================
Label1->Caption = "abc Label2 mno";
|
|
|
|
(EFGHIJKL)
===========================================
請問要如何作到呢?
|
tommylee926
一般會員 發表:24 回覆:25 積分:9 註冊:2003-08-17 發送簡訊給我 |
|
furbylin
一般會員 發表:6 回覆:29 積分:12 註冊:2003-08-29 發送簡訊給我 |
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
其實有一個重點,
就是font的選擇,
如果要做此處理,我是強烈建議用BCB editor的字型,就是Courier New,
因為它每個字的大小都很固定,不會因為M和I或大小寫的size不同。
再利用一些計算,就可以算出放置的位置
參考以下程式碼:
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Label1->Font->Name="Courier New"; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { int Len = Label1->Caption.Length(); //計算Label1有多長 int WordLocal = Label1->Width / Len; //計算一個字有多寬 int Replace_Local = Label1->Caption.Pos("b"); //抓要取代字的位置 TLabel *Label2 = new TLabel(this); Label2->Parent = this; Label2->Font->Name="Courier New"; Label2->Caption = "Label2"; Label2->Font = Label1->Font; //把Label2的font設成和Label1一樣 Label2->Font->Color = clRed; //顏色設成red Label2->AutoSize = true; Label2->Top = Label1->Top; Label2->Left = Label1->Left WordLocal * (Replace_Local-1); //計算位置 }對了,那個b是我在測試用的,請自行改成EFGHIJKL 國泰平安 發表人 - |
tommylee926
一般會員 發表:24 回覆:25 積分:9 註冊:2003-08-17 發送簡訊給我 |
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
|
tommylee926
一般會員 發表:24 回覆:25 積分:9 註冊:2003-08-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |