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

BEGIN_MESSAGE_MAP 跑不停 ??

尚未結案
cc12345
一般會員


發表:32
回覆:35
積分:13
註冊:2005-01-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-15 17:09:17 IP:61.219.xxx.xxx 未訂閱
大家好, 小弟我有一個簡單的class是繼承自TPanel,我在.h裡加上 void __fastcall OnPaint(tagMSG &msg ); BEGIN_MESSAGE_MAP VCL_MESSAGE_HANDLER( WM_PAINT,tagMSG,OnPaint ) END_MESSAGE_MAP( TPanelDraw ) 在.cpp裡也寫好了 void __fastcall TPanelDraw::OnPaint(tagMSG &msg ) { } 可是一執行, 程式會在BEGIN_MESSAGE_MAP與END_MESSAGE_MAP()這兩行之間不停執行, 然後就有錯誤訊息...message 'Stack overflow' .... 想請問, 攔截訊息的方式哪裡寫錯了? 謝謝 !
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-15 19:01:53 IP:203.204.xxx.xxx 未訂閱
改成如下~看看
引言: END_MESSAGE_MAP( TPanel )
cc12345
一般會員


發表:32
回覆:35
積分:13
註冊:2005-01-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-16 09:59:49 IP:61.219.xxx.xxx 未訂閱
Hi Rogan321,    這樣可以, 不過產生了另一個問題, 就是TPanelDraw本身不會被畫出來了..    是否我需要在TPanelDraw::OnPaint()裡頭最後,  再呼叫Tpanel的OnPaint()? 若是,該如何呼叫? 底下這種寫法, compiler不會過. void __fastcall TPanelDraw::OnPaint(tagMSG &msg ) {   ReDraw();   TPanel::OnPaint( msg ); }    thanks !!    
引言: 改成如下~看看
引言: END_MESSAGE_MAP( TPanel )
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-17 00:02:34 IP:203.204.xxx.xxx 未訂閱
幫你找了篇文章~精神一樣 http://delphi.ktop.com.tw/topic.php?topic_id=55483
系統時間:2024-05-12 11:53:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!