在VC6.0中,默认情况下,鼠标移动到对话框的控件上时,是不会显示控件的提示信息的。下面将讨论实现显示话框中的控件的提示的步骤。

1、在对话框初始化时,开始控件的信息提示。即在OnInitDialog函数中添加以下代码: 

EnableToolTips(TRUE);

2、在对话框窗口的消息映射中添加对TTN_NEEDTEXT消息的处理。

其中,OnToolTipText是响应TTN_NEEDTEXT消息的函数。

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolTipText)

3、声明消息响应函数。

afx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult);

4、定义消息响应函数。

 

BOOL CButtonToolTipsDlg::OnToolTipText(UINT id, NMHDR* pNMHDR, LRESULT* pResult)
{
TOOLTIPTEXT
* pTTT = (TOOLTIPTEXT*)pNMHDR;
UINT nID
= pNMHDR->idFrom;

if (pTTT->uFlags & TTF_IDISHWND)
{
nID
= ::GetDlgCtrlID((HWND)nID);

if (0 != nID)
{
// 获得控件对应的提示信息
pTTT->lpszText = MAKEINTRESOURCE(nID);
pTTT
->hinst = AfxGetResourceHandle();

return TRUE;
}
}

return FALSE;
}

 5、为控件添加提示信息。

在Resources中的String Table为控件添加相应的提示信息。

 6、运行程序。

运行程序,把鼠标移动到控件上,就能看到控件的提示信息。

 

posted on 2011-06-07 23:02  闲云鹤  阅读(1530)  评论(1编辑  收藏  举报