VC中當滑鼠停靠在按鈕等控制項上時出現文字提示功能

2021-07-26 17:30:19 字數 1644 閱讀 8227

首先在對話方塊的標頭檔案中加入初始化語句:public:下,加入:ctooltipctrl    m_stat;

然後在初始化對話方塊函式中加入:(注:我開始在oncreate函式中加的這段**,發現有addtool那句程式執行就出錯,不知道為什麼。。然後把這段放在初始化函式,就沒錯了)

m_stat.create(this); 

m_stat.addtool( getdlgitem(idc_button), "你想要新增的提示資訊" ); //idc_button為你要新增提示資訊的按鈕的id

//m_stat.setdelaytime(200); //設定延遲,如果為0則不等待,立即顯示

//m_stat.settiptextcolor( rgb(0,0,255) ); //設定提示文字的顏色

//m_stat.settipbkcolor( rgb(255,255,255)); //設定提示框的背景顏色

//m_stat.setmaxtipwidth(600);//設定文字框的最大寬度,注意裡邊的數值單位為畫素,所以要通過不斷測試來選定最理想的寬度。利用此句可顯示多行

m_stat.activate(true); //設定是否啟用提示

然後在類嚮導中新增pretranslatemessage訊息響應函式

bool c***dlg::pretranslatemessage(msg* pmsg)

注:1.如果要為多個按鈕新增功能提示只需在

m_stat.addtool( getdlgitem(idc_button), "你想要新增的提示資訊" );

的下面再加上類似語句,如

m_stat.addtool( getdlgitem(idc_button1), "你想要新增的提示資訊1" );

m_stat.addtool( getdlgitem(idc_button2), "你想要新增的提示資訊2" );

2.上面這個是按鈕,然後我同樣想顯示picture控制項的提示資訊時,發現按上面的步驟沒反應,後來網上查了在picture控制項屬性裡把notify這個屬性打勾,就顯示內容了。其他控制項不知道是不是這樣,有待驗證。

3.如果想在需要顯示的時候顯示提示,可以使用m_tooltip.activate(true);函式,但發現如果已經是true了,再activate,提示框就不顯示了,此時可以呼叫m_tooltip.updatetiptext(str,getdlgitem(idc_button));更新一下要顯示內容,雖然內容可能沒有變,然後再activate(true)就能正常顯示了。

4.當需要顯示多行提示資訊時,直接用「\n」拼接字串並不能達到效果,需要新增這句m_stat.setmaxtipwidth(600);並設定合適的寬度,這樣用「\n」來拼接字串就能顯示多行資訊。

補充一下新增bmp圖: 1、新增bmp圖資源,並新增picture控制項,屬性改為bmp

2、初始化函式中新增:

hbitmap hbitmap; 

hbitmap = ::loadbitmap(afxgetinstancehandle(),makeintresource(idb_bmp_train)); //bmp圖id號

m_trainp1.setbitmap(hbitmap);

getdlgitem(idc_static2)->showwindow(sw_hide);//隱藏 showwindow(sw_show)是顯示

VC MFC 當滑鼠移到控制項上時顯示提示資訊

vc mfc 當滑鼠移到控制項上時顯示提示資訊 tooltip是win32中乙個通用控制項,mfc中為其生成了乙個類ctooltipctrl,總的說來其使用方法是較簡單的,下面講一下它的一般用法和高階用法。一般用法步驟 新增ctooltipctrl成員變數 m tt。在父視窗中呼叫enabletoo...

VC 獲取滑鼠點座標

onlbuttondown 傳入的point座標為客戶區座標,而輸出矩形為窗體座標,point縱座標需要加上 標題欄高度 26 和對話方塊高度 3 point橫座標需要加上 對話方塊寬度 3 int captionheight getsystemmetrics sm cycaption 標題欄高度 ...

VC 滑鼠事件的響應

滑鼠鍵包括左鍵 右鍵和中鍵 滾輪 每個鍵都有三種事件訊息,一是被按下,二是被釋放,三是雙擊。下表列出了滑鼠操作 訊息名稱及處理函式名。滑鼠操作 訊息名稱 處理函式名 左鍵按下 wm lbuttondown onlbuttondown 左鍵釋放 wm lbuttonup onlbuttonup 左鍵雙...