CToolTipCtrl使用詳細解說

2021-06-05 18:28:13 字數 1083 閱讀 4200

很多的介面設計都需要有tip提示,下面描述一下tip的簡單使用方法:

1. 首先要new乙個ctooltipctrl的物件m_pcontenttip

2. 呼叫ctooltipctrl的create函式,指定其父視窗。可以為某個控制項,也可以為this。一般設為this。

m_pcontenttip->create( this, tts_alwaystip );

3. addtool。此函式是設定與某個控制項關聯的tip文字。此處可以為多個控制項新增不同的提示資訊。

m_pbuttontip->addtool( getdlgitem( 控制項id ), 文字 ); //#add 一定要用addtool 否則不會顯示 addtool(this,文字);也行.

4. settipbkcolor設定背景顏色。

5. settiptextcolor設定文字顏色。

6. 最重要的一步。在pretranslatemessage函式中新增下面語句:

bool ctesttooltipdlg::pretranslatemessage(msg* pmsg)

另外,還可以使用m_pcontenttip->updatetiptext函式來更新tip資訊。

動態改變tooltip的顯示內容的方法及步驟:

上面所講的1、2、4步驟。

在增加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 true;}注:

實際專案中常常重寫該類得到 不同風格,甚至是在其中新增,如cxinfotip.

常用的擴充套件按鈕控制項一般均封裝了乙個ctooltipctrl控制項.

Ctooltip Ctrl 控制項使用

還是那句老話 紙上得來終覺淺,絕知此事要躬行。前天給同事解決了乙個問題,他動態建立了乙個靜態控制項,可是這個靜態控制項的tooltip總是顯示不出來。我提示他在建立時要設定一下視窗風格。果然他在建立時加上ss noprefix就好了。今天抽空把這個知識記錄一下 這也算是我的乙個習慣了,無關乎技術含量...

CToolTipCtrl使用詳細解說

ctooltipctrl使用詳細解說 m tt.create this cwnd pw getdlgitem idc check1 得到視窗指標 m tooltip.addtool pw,check1 新增 得到相應視窗id,有可能是hwnd 表明nid是否為hwnd nid getdlgctrli...

控制項介紹 CToolTipCtrl使用詳細解說

很多的介面設計都需要有tip提示,下面描述一下tip的簡單使用方法 1.首先要new乙個ctooltipctrl的物件m pcontenttip 2.呼叫ctooltipctrl的create函式,指定其父視窗。可以為某個控制項,也可以為this。一般設為this。m pcontenttip cre...