VC中實現按鈕提示

2022-03-21 13:31:16 字數 1863 閱讀 4972

virtual bool create( cwnd* pparentwnd, dword dwstyle = 0 );

pparentwnd是父視窗指標,通常用this就行了。dwstyle是樣式,一般用預設值,即空著這個引數就可以了。

bool addtool( cwnd* pwnd, uint nidtext, lpcrect lprecttool = null, uint_ptr nidtool = 0 );

bool addtool( cwnd* pwnd, lpctstr lpsztext = lpstr_textcallback, lpcrect lprecttool = null, uint_ptr nidtool = 0 );

addtool函式用來新增要設定工具提示的控制項。pwnd為該控制項視窗指標。lprecttool用來指定在什麼區域顯示工具提示。最簡單的用法就是給出兩個引數,乙個是控制項的視窗指標,乙個是要提示的字串。

要製作工具提示,只需要宣告乙個ctooltipctrl類的物件,呼叫create建立,再呼叫addtool新增控制項。如有多個控制項,可逐個新增。

1.      在這個對話方塊的定義部分新增黑體部分:

class cmydlg : public cdialog

ctooltipctrl m_tt;

2.      在這個對話方塊的oninitdialog()函式裡,新增黑體部分:

bool cmydlg::oninitdialog()

enabletooltips(true);

m_tt.create(this);

m_tt.activate(true);

m_tt.addtool(getdlgitem(idc_button1),"這是乙個按鈕");

//idc_button1是需要進行提示的按鈕的id值,這個函式的原型是

bool addtool( cwnd* pwnd, lpctstr lpsztext = lpstr_textcallback, lpcrect lprecttool = null, uint_ptr nidtool = 0 );

m_tt.settiptextcolor(rgb(0,0,255)); //提示文字顏色,非必需

m_tt.setdelaytime(150);    //出現提示前的延遲時間,非必需

3.過載對話方塊的pretranslatemessage(msg* pmsg)函式,新增黑體部分:

bool cmydlg::pretranslatemessage(msg* pmsg)

m_tt.relayevent(pmsg);

return cdialog::pretranslatemessage(pmsg);

}---動態新增提示---------------

在增加tooltip時不指定顯示的字串,而是使用lpstr_textcallback。

在視窗中增加訊息對映 on_notify_ex( ttn_needtext, 0, settiptext )。

在視窗中增加乙個函式用於動態提供顯示內容,其原型為 bool settiptext( uint id, nmhdr * ptttstruct, lresult * presult ),下面的**可以根據傳入的引數判定應該顯示的內容。

bool cwndyour::settiptext( uint id, nmhdr * ptttstruct, lresult * presult )

return(false);

}

vc按鈕提示實現 其實很簡單

本文以vc6.0對話方塊應用程式為例,當滑鼠在按鈕上移動 按下或者彈起時顯示按鈕功能提示文字,本文將在按鈕上顯示功能提示文字 功能提示一 二 在c dlg.h檔案中定義 public ctooltipctrl m opentooltip 在c dlg.cpp的oninitdialog 中初始化 m ...

VC中滑鼠經過按鈕彈出功能提示(TIPS)

在 製作中,將為某些鏈結新增相關說明,特別是一些鏈結。而在vc中,也常常為一些按鈕新增一些功能提示。下面講解實現過程 該功能的實現主要是用ctooltipctrl類。該類在vc msdn中有詳細說明。首先在對話方塊的標頭檔案中加入初始化語句 public 下,加入 ctooltipctrl m my...

VC2005逃跑按鈕實現

1.新建乙個基於對話方塊的mfc應用程式。刪除對話方塊中的預設按鈕。拖過來兩個按鈕。2.新建乙個類,繼承cbutton vc6是使用類嚮導。vc8是開啟類檢視,右擊新增類。3.為兩個按鈕關聯變數 開啟類檢視,右擊 newbtn 類,開啟屬性面板,可以為 newbtn 類新增訊息響應函式。直接在 中為...