MFC编辑框中添加气泡提示的方法

注意:经过测试发现VC6.0并不支持气泡提示,以下方法适用于VS2010以上。

1.在头文件中添加声明:

// 气泡提示
    void ShowBalloonTip(HWND hWnd, LPCTSTR lpszText, LPCTSTR lpszTittle, int nTTIcon);

2.在源文件中添加实现:

void CFasDlg::ShowBalloonTip(HWND hWnd, LPCTSTR lpszText, LPCTSTR lpszTittle, int nTTIcon)
{
#ifdef _UNICODE
    EDITBALLOONTIP tagTip;
    tagTip.cbStruct = sizeof(EDITBALLOONTIP);
    tagTip.pszText = lpszText;
    tagTip.pszTitle = lpszTittle;
    tagTip.ttiIcon = nTTIcon;
    Edit_ShowBalloonTip(hWnd, &tagTip);
#else
    MessageBox(lpszText, lpszTittle);
#endif

    ((CEdit*)CWnd::FromHandle(hWnd))->SetSel(0, -1);
}

3.在需要添加气泡提示的地方添加:

CWnd *pWnd = GetDlgItem(ID_EDIT1); // 取得控件的指针
HWND hwnd = pWnd->GetSafeHwnd(); // 取得控件的句柄
if ((int)dHorDis < nMin || (int)dHoDis > nMax)
{
    strTip.Format(_T("取值范围应在%d~%d之间"), nMin, nMax);                            
    ShowBalloonTip(hwnd , strTip, _T("提示"), TTI_INFO);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/mikasoi/article/details/83513427