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

繼承元件問題

尚未結案
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-12 10:07:15 IP:202.181.xxx.xxx 未訂閱
請問我想繼承StatusBar,在新元件中加入三個屬性,不用每次都需要寫以下程式碼,請問要如何寫這個新元件呢?? procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); var sz :string; begin if (Panel.Index=0) then begin StatusBar1.Canvas.Brush.Color:=clYellow; StatusBar1.Canvas.Font.Name:='細明體'; StatusBar1.Canvas.Font.Color:=clBlue; StatusBar1.Canvas.Font.Size:=14; sz:='細明體'; end else if(Panel.Index=1) then begin StatusBar1.Canvas.Brush.Color:=clGreen; StatusBar1.Canvas.Font.Name:='標楷體'; StatusBar1.Canvas.Font.Color:=clRed; StatusBar1.Canvas.Font.Size:=14; sz:='標楷體'; end; StatusBar1.Canvas.FillRect(Rect); StatusBar1.Canvas.Brush.Style:=bsClear; StatusBar1.Canvas.TextOut(Rect.Left 2, Rect.Top 2,sz); end;
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-12 12:36:15 IP:211.20.xxx.xxx 未訂閱
不繼承也無所謂 把這一個 procedure 放到公用程式(例如:FmUtil,檔名為 UnUtil.pas)中的 public 區段    procedure TFmUtil.DoStatusBarDrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); 只是內容的 "StatusBar1" 要修改成 "StatusBar"。如以下程式碼:    
procedure TFmUtil.DoStatusBarDrawPanel(StatusBar: TStatusBar;
          Panel: TStatusPanel; const Rect: TRect);
var
  sz :string;
begin
  if (Panel.Index=0) then begin
    StatusBar.Canvas.Brush.Color:=clYellow;
    StatusBar.Canvas.Font.Name:='細明體';
    StatusBar.Canvas.Font.Color:=clBlue;
    StatusBar.Canvas.Font.Size:=14;
    sz:='細明體';
  end
  else if(Panel.Index=1) then begin
    StatusBar.Canvas.Brush.Color:=clGreen;
    StatusBar.Canvas.Font.Name:='標楷體';
    StatusBar.Canvas.Font.Color:=clRed;
    StatusBar.Canvas.Font.Size:=14;
    sz:='標楷體';
  end;
  StatusBar.Canvas.FillRect(Rect);
  StatusBar.Canvas.Brush.Style:=bsClear;
  StatusBar.Canvas.TextOut(Rect.Left 2, Rect.Top 2,sz);
end;
然後在要使用的 Form 中,FormCreate 事件中寫一行 StatusBar1.OnDrawPanel := FmUtil.DoStatusBarDrawPanel; 當然啦,要 uses UnUtil 這樣就行了 加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
系統時間:2024-06-16 5:00:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!