TMainMenu的Hint不能顯現 |
尚未結案
|
waterfat
一般會員 ![]() ![]() 發表:22 回覆:16 積分:7 註冊:2003-11-10 發送簡訊給我 |
|
waterfat
一般會員 ![]() ![]() 發表:22 回覆:16 積分:7 註冊:2003-11-10 發送簡訊給我 |
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 我在MainMenu中的Hint設一些說明的字串,不過執行時,滑鼠移到上面卻沒有hint出現,我在MainMenu中找不到ShowHint呀! 設定的畫面如下,是不是我的GroupIndex設錯之類的?waterfat你好 void __fastcall TForm1::FormCreate(TObject *Sender) { Form1->ShowHint=true; Application->ShowHint=true; Application->OnHint=DisplayHint; } //--------------------------------------------------------------------------- void __fastcall TForm1::DisplayHint(TObject *Sender) { i++; Form1->Caption=i; StatusBar1->SimpleText = GetLongHint(Application->Hint); }這個範例是說TMenuItem的Hint值可以借由StatusBar顯示出來! 而我們可以自行在DisplayHint事件中加入判斷變數,證明每次點選不同MenuItem時或是滑鼠移至TEdit、TButton等物件上停留時,這個事件都真的有觸發,只是TEdit、TButton等物件會自行show出白框框的Hint值,而TMenuItem物件目前認定應該是不行的! 圖例: |
axsoft
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
|
ENIX007
高階會員 ![]() ![]() ![]() ![]() 發表:28 回覆:274 積分:185 註冊:2003-11-27 發送簡訊給我 |
大家好
這是小弟取自TMenuItem::Hint中的說明:
引言: Set Hint to a string that provides more information about the meaning of the menu item than the Caption. The hint text appears in a Help Hint window when the user pauses with the mouse over the menu item if Help Hints are enabled (that is, if the Form? and the Application? ShowHint properties are true). It is also available for the code in the application? OnHint event handler.紅色部分明白表示了只要把MainMenu所在的Form和Application的ShowHint設為 true就可以讓MainMenu的Hint使用"Help Hint window"顯示... 然而小弟測試結果失敗< > 提供出來讓各位大大作個參考< > 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~ |
waterfat
一般會員 ![]() ![]() 發表:22 回覆:16 積分:7 註冊:2003-11-10 發送簡訊給我 |
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 各位好 小弟今天剛好詢問到一位很有經驗的工程師 他說的方法不錯 建立一個新的panel或image 在mainmeanu上的OnMouseMove事件上 抓到座標 再將panel或image顯示出來 image可以做比較漂亮外觀 框透明化 給各位參考waterfat你好< >: 你的意思很清楚,如果我沒猜錯的話,你是要自行做出 >? 老實說,我覺得這在想法上沒什麼新意(沒惡意的< >),因為我覺得大家都會想到這麼做的,因為只要想要的功能>做"出這樣的一個功能啦,對吧 void __fastcall TForm1::FormCreate(TObject *Sender) { Edit1->Visible=false; Edit2->Visible=false; Edit1->ReadOnly=true; Edit2->ReadOnly=true; Application->OnHint=MyHint; } //--------------------------------------------------------------------------- void __fastcall TForm1:: MyHint(TObject* Sender) { int x=GetMenuState(Program1->Handle,0,MF_BYPOSITION); int y=GetMenuState(Program1->Handle,1,MF_BYPOSITION); if (x==MF_HILITE) { Edit1->Visible=true; Edit2->Visible=false; } else if (y==MF_HILITE) { Edit1->Visible=false; Edit2->Visible=true; } else { Edit1->Visible=false; Edit2->Visible=false; } }圖例: 滑鼠在MenuItem上任意移動--> |
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言:引言: 各位好 小弟今天剛好詢問到一位很有經驗的工程師 他說的方法不錯 建立一個新的panel或image 在mainmeanu上的OnMouseMove事件上 抓到座標 再將panel或image顯示出來 image可以做比較漂亮外觀 框透明化 給各位參考waterfat你好< >: 你的意思很清楚,如果我沒猜錯的話,你是要自行做出 >? 老實說,我覺得這在想法上沒什麼新意(沒惡意的< >),因為我覺得大家都會想到這麼做的,因為只要想要的功能>做"出這樣的一個功能啦,對吧 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |