很多的介面設計都需要有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)
// todo: add your specialized code here and/or call the base class
if(pmsg->message== wm_lbuttondown ||
pmsg->message== wm_lbuttonup ||
pmsg->message== wm_mousemove)
m_ptooltipctrl.relayevent(pmsg);
return cdialog::pretranslatemessage(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控制項.
另一篇:
二,動態改變tooltip的顯示內容的方法及步驟:
1.上面所講的1、2、4步驟。
2.在增加tooltip時不指定顯示的字串,而是使用lpstr_textcallback。
3.在視窗中增加訊息對映 on_notify_ex( ttn_needtext, 0, settiptext )。
4.在視窗中增加乙個函式用於動態提供顯示內容,其原型為 bool settiptext( uint id, nmhdr * ptttstruct, lresult * presult ),下面的**可以根據傳入的引數判定應該顯示的內容。
bool cwndyour::settiptext( uint id, nmhdr * ptttstruct, lresult * presult )
return(false);}
tooltip是win32中乙個通用控制項,mfc中為其生成了乙個類ctooltipctrl,總的說來其使用方法是較簡單的,下面講一下它的一般用法和高階用法。
一般用法步驟:
1.新增ctooltipctrl成員變數 m_tt。
2.在父視窗中呼叫enabletooltips(true);
3.在視窗的oncreate(或者其他適當的位置)中向tooltip中新增需要顯示tip的子視窗,並同時指定相應的顯示字串ctooltipctrl::addtool(pwnd,"string to display")。
4.過載父視窗的 bool pretranslatemessage(msg* pmsg) ,在函式中呼叫 m_tt.relayevent(pmsg)。
下面假設在視窗cwndyour中使用ctooltipctrl
在類定義中新增變數說明:
classcwndyour:***
在oncreate中新增需要顯示tip的子視窗
cwndyour::oncreate(....)
在bool pretranslatemessage(msg* pmsg)中新增**
bool cwndyour::pretranslatemessage(msg* pmsg)
return cparentclass::pretranslatemessage(pmsg);
} 這樣當滑鼠移動到相應的子視窗上時會顯示出相應的tooltip。
UIScrollView控制項介紹
一 知識點簡單介紹 1.uiscrollview控制項是什麼?1 移動裝置的螢幕 大 小是極其有限的,因此直接展 示在 使用者眼前的內容也相當有限 2 當展 示的內容較多,超出 乙個螢幕時,使用者可通過滾動 手勢來檢視螢幕以外的內容 3 普通的uiview不具備滾動功能,不能顯 示過多的內容 4 u...
ToggleSwitch控制項介紹
toggleswitch控制項是乙個開關控制控制項,這個控制項用到的地方很多。我們可以用他來控制開關的開啟或者關閉。本文介紹下該控制項的常用屬性及用法。1.最重要的乙個屬性 ison 屬性 這個屬性是用來控制開關是開啟還是關閉的,一般預設是關閉的,可以根據需要來設定。2.其他都是一些簡單的配置屬性 ...
UpdateProgress控制項簡單介紹
在asp.net ajax beta2中,updateprogress控制項已經從 增值 ctp中移到了asp.net ajax核心中。以下兩篇關於updateprogress的文章基本翻譯自asp.net ajax官方 主要內容 1 updateprogress控制項簡單使用 2 使用多個upda...