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

使用StatusBar的DrawPanel Event怪怪的

尚未結案
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-24 16:31:05 IP:61.30.xxx.xxx 未訂閱
怪怪的現象如圖: 有把StatusBar1.Panels[8]和StatusBar1.Panels[9]的 Style 設定為 psOwnerDraw,然後在 StatusBar1.DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect);裡面有如下的Code
 if Panel.Index in [8, 9] then
 begin
  if Panel.Index =8 then
   APWR :=fPWR1Status//狀態值
  else
   APWR :=fPWR2Status;      case APWR of//依狀態值來決定字的顏色
  pwrNormal :StatusBar.Canvas.Font.Color :=clWindowText;
  else StatusBar.Canvas.Font.Color :=clRed;
  end;//end case PWR1Status      with StatusBar1.Canvas do
  begin
   TextOut(Rect.Left +16 +2, Rect.Top +2, Panel.Text);
  end;
 end;    
在改變StatusBar1.Panels[8]或[9]的Text時,會變成如上的錯誤圖示(變成顯示主選單的內容)。但,只要把視窗切換至另一個地方,再切換回來時,就是正常的了。 一直找不到問題所在,不知該如何解決? 謝謝! GPS(全球衛星定位系統) http://www.allgps.com
------
GPS(全球衛星定位系統)
http://www.allgps.com
malanlk
尊榮會員


發表:20
回覆:694
積分:572
註冊:2004-04-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-25 13:41:28 IP:203.69.xxx.xxx 未訂閱
用 TextRect(Rect,Rect.Left 18,Rect.Top 2, Panel.Text); 試試!
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-26 09:49:16 IP:61.30.xxx.xxx 未訂閱
引言: 用 TextRect(Rect,Rect.Left 18,Rect.Top 2, Panel.Text); 試試!
謝謝大大的回應,但一樣無法解決。 在更改StatusBar1.panels[x].Text時, 我去記錄是否有觸發DrawPanel Event,發現它並沒有進入此Event,但,顯示的文字卻變成主選單的文字了。這真是一個怪現象! 後來,我在修改panels[x].Text時,隨後加入一行 StatusBar1.Update; 即可解決,正常顯示。 然而,又在更改Panels[x 1].Text 的值時,也加入一行StatusBar1.Update, 卻又不正常顯示,看來可能是此元件的問題,不然就是系統底層的問題了! 希望有人能解決或解釋此問題為何? 謝謝大家! GPS(全球衛星定位系統) http://www.allgps.com
------
GPS(全球衛星定位系統)
http://www.allgps.com
malanlk
尊榮會員


發表:20
回覆:694
積分:572
註冊:2004-04-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-26 12:08:22 IP:203.69.xxx.xxx 未訂閱
爬到一篇 http://www.delphipages.com/threads/thread.cfm?ID=42092&G=42092, 狀況跟你一樣 不過是舊版, 請問你 delphi 版本是??
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-26 18:36:08 IP:61.30.xxx.xxx 未訂閱
引言: 爬到一篇 http://www.delphipages.com/threads/thread.cfm?ID=42092&G=42092, 狀況跟你一樣 不過是舊版, 請問你 delphi 版本是??
系統是Delphi 7, Windows 2000 Pro SP4 感謝大大的幫忙,幫我解決了此一疑問。 GPS(全球衛星定位系統) http://www.allgps.com
------
GPS(全球衛星定位系統)
http://www.allgps.com
sigmaccc
一般會員


發表:32
回覆:40
積分:14
註冊:2003-11-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-07-20 14:07:06 IP:220.133.xxx.xxx 訂閱

===================引 用 malanlk 文 章===================
爬到一篇 http://www.delphipages.com/threads/thread.cfm?ID=42092&G=42092, 狀況跟你一樣 不過是舊版, 請問你 delphi 版本是??




小弟也到相同問題。
但上述連結已不見了。
可否麻煩大大再次解惑。
萬分感謝
系統時間:2017-12-18 1:51:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!