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

設定 FontCharset (含 Form, Quickrep ...等)

 
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-28 10:50:24 IP:211.76.xxx.xxx 未訂閱
此篇是由 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=34463 討論所引發寫作的動機. 其中 hagar 兄提供使用 RTTI 方式判斷 Object 是否有 Font property, 其實有一個更簡單(也許是吧)的方式可用. 追蹤 VCL Source code 可以發現 Font 是定義在 TControl 的 protected 區段中, 如果各位還記得我寫的 "元件設計初步(一)" (http://sun.cis.scu.edu.tw/~nms9115/articles/delphi/VclWrite/VclWrite.htm)中有說到, protected 區段的內容只有繼承的後代可以存取, 因此我們就宣告一個繼承自 TControl 的後代, 用來設定 Font 用:
TMyFontControl = class(TControl)
public
  property Font;  // 宣告改到此區段給其他人使用
end;    procedure SetFontCharset(Sender: TWinControl; FontCharset: Integer = DEFAULT_CHARSET);
var i: Integer;
begin
  for i := 0 to Sender.ComponentCount-1 do
  begin
    if (Sender.Components[i] is TControl) then
      TMyFontControl(Sender.Components[i]).Font.Charset := FontCharset;
  end;
end;
程式碼就上面這段; 其實這個作法還有其他的應用, 就看您的想像力了...
------
將問題盡快結案也是一種禮貌!
carloyan
一般會員


發表:35
回覆:14
積分:9
註冊:2004-05-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-16 10:11:34 IP:61.56.xxx.xxx 未訂閱
引言: 此篇是由 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=34463 討論所引發寫作的動機. 其中 hagar 兄提供使用 RTTI 方式判斷 Object 是否有 Font property, 其實有一個更簡單(也許是吧)的方式可用. 追蹤 VCL Source code 可以發現 Font 是定義在 TControl 的 protected 區段中, 如果各位還記得我寫的 "元件設計初步(一)" (http://sun.cis.scu.edu.tw/~nms9115/articles/delphi/VclWrite/VclWrite.htm)中有說到, protected 區段的內容只有繼承的後代可以存取, 因此我們就宣告一個繼承自 TControl 的後代, 用來設定 Font 用:
TMyFontControl = class(TControl)
public
  property Font;  // 宣告改到此區段給其他人使用
end;    procedure SetFontCharset(Sender: TWinControl; FontCharset: Integer = DEFAULT_CHARSET);
var i: Integer;
begin
  for i := 0 to Sender.ComponentCount-1 do
  begin
    if (Sender.Components[i] is TControl) then
      TMyFontControl(Sender.Components[i]).Font.Charset := FontCharset;
  end;
end;
程式碼就上面這段; 其實這個作法還有其他的應用, 就看您的想像力了...
請問 Danny 版主 ! 可不可以翻譯成 BCB ㄚ ! 極需 ! 謝謝 !
系統時間:2024-05-19 13:59:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!