動態開TLabel時OnContextPopup的問題 |
答題得分者是:RaynorPao
|
HomeSound
中階會員 ![]() ![]() ![]() 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
各位前輩:
小弟想動態開TLabel元件使用滑鼠右鍵
TLabel *LName; LName=new TLabel(this); LName->Caption="12345678"; LName->TNameClick;//這個沒問題 LName->OnContextPopup=TNameContextPopup;//這個不行 LName->Parent= this; void __fastcall TForm1::TNameContextPopup(TObject *Sender,TPoint &MousePos,bool &Handled) { ShowMessage("右按鍵"); } void __fastcall TForm1::TNameClick(TObject *Sender) { ShowMessage("左按鍵"); }編譯結果錯誤cannot convert...,好像不能這樣用 小弟很菜,望各位大大指點 --==多看.多學.多聽==--
------
--==多看.多學.多聽==-- |
RaynorPao
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 各位前輩: 小弟想動態開TLabel元件使用滑鼠右鍵HomeSound 你好: 加上紅色那個字看看可不可以呢??TLabel *LName; LName=new TLabel(this); LName->Caption="12345678"; LName->TNameClick;//這個沒問題 LName->OnContextPopup=TNameContextPopup;//這個不行 LName->Parent= this; void __fastcall TForm1::TNameContextPopup(TObject *Sender, const TPoint &MousePos, bool &Handled) { ShowMessage("右按鍵"); } void __fastcall TForm1::TNameClick(TObject *Sender) { ShowMessage("左按鍵"); }編譯結果錯誤cannot convert...,好像不能這樣用 小弟很菜,望各位大大指點 --==多看.多學.多聽==--
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
HomeSound
中階會員 ![]() ![]() ![]() 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
|
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
HomeSound您好:
我測試的結果沒有問題耶,BCB6.0
//.h class TForm1 : public TForm { __published: // IDE-managed Components TLabel *Label1; void __fastcall FormCreate(TObject *Sender); void __fastcall Label1Click(TObject *Sender); private: // User declarations public: // User declarations void __fastcall TNameContextPopup(TObject *Sender, const TPoint &MousePos, bool &Handled); void __fastcall TNameClick(TObject *Sender); __fastcall TForm1(TComponent* Owner); }; //.cpp void __fastcall TForm1::FormCreate(TObject *Sender) { TLabel *LName; LName=new TLabel(this); LName->Caption="12345678"; LName->TNameClick; LName->OnContextPopup=TNameContextPopup; LName->Parent= this; } //--------------------------------------------------------------------------- void __fastcall TForm1::TNameContextPopup(TObject *Sender,const TPoint &MousePos, bool &Handled) { ShowMessage("右按鍵"); } //--------------------------------------------------------------------------- void __fastcall TForm1::TNameClick(TObject *Sender) { ShowMessage("左按鍵"); } //---------------------------------------------------------------------------可是為什麼Label的 void __fastcall TForm1::Label1ContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled) { } 卻不用加const呢?發表人 - taishyang 於 2003/12/10 23:59:00 |
RaynorPao
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 感謝包子哥的回答, 加上 const 後錯誤訊息變成 TForm1::TNameContextPopup不是TForm1成員??
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
HomeSound
中階會員 ![]() ![]() ![]() 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
|
RaynorPao
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 感謝兩位大大回答 小弟是兩個都有加上const(**.h & **.cpp交插測試) 不過還是一樣有錯誤訊息,重新安裝C Builder再重建專案後編譯就可以啦! 跟taishyang大大一樣有疑問,為何要加const?? 不是用動態開的OnContextPopup事件卻不用加const?? --==多看.多學.多聽==-- HomeSound 你好: (1)拍謝,老實說,我也不清楚 Borland 為什麼在這方面的做法會不一樣,所以 這部分無法為你解惑了
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
HomeSound
中階會員 ![]() ![]() ![]() 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |