VC為控制元件加ToolTip工具提示方法總結
方法一:為視窗上的控制元件加提示,比如按鈕、文字框、編輯框等等,下面附程式碼介紹
1. 首先在CTestToolTipDlg(繼承於CDialog)的.h標頭檔案中定義ToolTip控制元件提示,如:CToolTipCtrl m_toolTip;
2. 在OnInitDialog()方法中新增如下程式碼:
EnableToolTips(TRUE);
if(!m_toolTip)
{
m_toolTip.Create(this);
m_toolTip.Activate(TRUE);
m_toolTip.AddTool(GetDlgItem(IDOK),_T("這是一個按鈕"));
//IDC_BUTTON1是需要進行提示的按鈕的ID值,這個函式的原型是
//BOOL AddTool( CWnd* pWnd, LPCTSTR lpszText = LPSTR_TEXTCALLBACK, LPCRECT lpRectTool = NULL, UINT_PTR nIDTool = 0 );
m_toolTip.SetTipTextColor(RGB(0,0,255)); //提示文字顏色,非必需
m_toolTip.SetDelayTime(150); //出現提示前的延遲時間,非必需
}
3. 為CTestToolTipDlg新增PreTranslateMessage訊息,並且新增程式碼如下:
BOOL CTestToolTipDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
m_toolTip.RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);
}
如果你需要滑鼠左鍵從該按鈕上按下、移動、彈起時都顯示,可做如下修改:
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)
&& pMsg->hwnd == GetDlgItem(IDOK)->GetSafeHwnd())
{
MSG tempMsg;
tempMsg=*pMsg;
tempMsg.message=WM_MOUSEMOVE;
m_toolTip.RelayEvent(&tempMsg);
}
return CDialog::PreTranslateMessage(pMsg);
}
方法二:不僅可以為CDialog視窗類,而且還可以為CDialogBar視窗工具欄類上的控制元件新增ToolTip提示,上面的方法卻不能實現後者
1、先為按鈕或者文字框或者編輯框等等,設定一個ID,如IDC_TIP;
2、在CXXDialogBar的標頭檔案中的AFX_MSG內加入一行申明
afx_msg BOOL OnToolTip(UINT id,NMHDR *pNMHDR,LRESULT *pResult);
3、在CXXDialogBar的CPP檔案中的AFX_MSG_MAP內加入一行
ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnToolTip)
4、在CXXDialogBar的CPP檔案中的OnInitDialog()函式內加入
EnableToolTips(TRUE);
5、在CXXDialogBar的CPP檔案中新增OnToolTip函式
BOOL CXXDialogBar::OnToolTip(UINT id,NMHDR *pNMHDR,LRESULT *pResult)
{
TOOLTIPTEXT *pTTT=(TOOLTIPTEXT*)pNMHDR;
UINT uID=pNMHDR->idFrom;
if(pTTT->uFlags & TTF_IDISHWND)
uID=::GetDlgCtrlID((HWND)uID);
if(uID==NULL) return FALSE;
switch(uID)
{
case IDC_TIP:
pTTT->lpszText="新增你的提示內容";
break;
}
return TRUE;
}
相關文章
- 為開發者準備的15 款Tooltip工具提示jQuery外掛jQuery
- Java 在PDF中新增工具提示|ToolTipJava
- Java 在PDF中新增工具提示ToolTipJava
- 如何在 pyqt 中自定義工具提示 ToolTipQT
- Vc控制元件用法總結之List Control控制元件
- tooltip提示框
- VC中給樹形控制元件的圖示加上工具提示 (轉)控制元件
- 工具提示控制元件(轉)控制元件
- jquery工具方法總結jQuery
- Silverlight 控制元件的ToolTip封裝工具使用控制元件封裝
- VC6開發視訊監控ActiveX控制元件總結控制元件
- Tooltip滑鼠hover放上時文字提示
- JavaFx Tooltip懸浮提示使用及自定義Java
- React製作全域性Tooltip文字提示元件React元件
- Element-Ui元件(三十九)Tooltip 文字提示UI元件
- bootStrap4 提示框(tooltip)的使用boot
- hints提示總結 zt
- 參加Gdevops總結dev
- Element 利用Tooltip提示框實現動態顯示文字提示
- WPF控制元件庫總結控制元件
- vc6.0程式除錯技術總結除錯
- ElementUI 中 table 表格自定義表頭 Tooltip 文字提示UI
- vue-directive-tooltip 提示框的簡單使用Vue
- C#控制元件的閃爍問題解決方法總結C#控制元件
- VC++ 控制元件賦值取值C++控制元件賦值
- JVM調優引數、方法、工具以及案例總結JVM
- VC常見入門問題總結(二) (轉)
- VC常見入門問題總結(一) (轉)
- 圖解修改VC++6.0 MFC控制元件風格為XP風格圖解C++控制元件
- 判斷是否為陣列的 JavaScript 方法總結陣列JavaScript
- 自定義控制元件總結和思考控制元件
- 工具手冊總結
- C# Chart控制元件的使用總結C#控制元件
- DevExpress控制元件學習總結 zdevExpress控制元件
- 5.Android(RecyclerView控制元件總結)AndroidView控制元件
- ECharts TooltipEcharts
- vc-vs2019編譯報錯總結編譯
- DataGridView設定單元格的提示內容ToolTip詳解View