BEGIN_MESSAGE_MAP 跑不停 ?? |
尚未結案
|
cc12345
一般會員 發表:32 回覆:35 積分:13 註冊:2005-01-24 發送簡訊給我 |
大家好,
小弟我有一個簡單的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 發送簡訊給我 |
|
cc12345
一般會員 發表:32 回覆:35 積分:13 註冊:2005-01-24 發送簡訊給我 |
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 發送簡訊給我 |
幫你找了篇文章~精神一樣
http://delphi.ktop.com.tw/topic.php?topic_id=55483
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |