int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)工具栏有2个按钮,ID_ROTAIN_LEFT,ID_ROTAIN_RIGHT,给他们添加提示,我在网上找到了如下方法:
{
CString ToolBarString;
ToolBarString.LoadString(IDS_STRING107);//107:未能创建工具栏
if (!m_wndToolBar1.Create(this, WS_CHILD | CBRS_TOP | CBRS_LEFT | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC,ID_BUTTON32782) ||
!m_wndToolBar1.LoadToolBar(IDR_ROTATION)) // | WS_VISIBLE
{
TRACE0(ToolBarString);
return -1; } // 未能创建
}
LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
switch(message)
case WM_NOTIFY:
switch(((LPNMHDR) lParam)->code)
{
case TTN_GETDISPINFO:
{
LPTOOLTIPTEXT lpttt;
lpttt = (LPTOOLTIPTEXT) lParam;
lpttt->hinst= AfxGetInstanceHandle();
//lpttt->hinst= g_hinst;;
UINT id=lpttt->hdr.idFrom;
switch(ID_RORATE_LEFT) // 这里出错:原代码是switch(id),但是鼠标放到按钮没反应,
{ //我改为switch(ID_RORATE_LEFT) 后,两个按钮都显示“增加按钮”,该怎么修改一下?
case ID_RORATE_LEFT:
lpttt->lpszText=TEXT("增加按钮");
break;
case ID_RORATE_RIGHT:
lpttt->lpszText=TEXT("减少按钮");
break;
}
break;
}
default:
break;
}
return CFrameWnd::WindowProc(message, wParam, lParam);
}
4 个解决方案
#1
出错在上面代码,自己先顶一下。
#2
MFC里这个类叫做CToolTipCtrl,具体用法很简单。
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it
m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE);
m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time
//IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。
m_ctrlTT.RelayEvent(pMsg);
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it
m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE);
m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time
//IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。
m_ctrlTT.RelayEvent(pMsg);
#3
这种方法是在控件中添加提示的吧
#4
MFC里这个类叫做CToolTipCtrl,具体用法很简单。
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it
m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE);
m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time
//IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。
m_ctrlTT.RelayEvent(pMsg);
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it
m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE);
m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time
//IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。
m_ctrlTT.RelayEvent(pMsg);
#1
出错在上面代码,自己先顶一下。
#2
MFC里这个类叫做CToolTipCtrl,具体用法很简单。
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it
m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE);
m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time
//IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。
m_ctrlTT.RelayEvent(pMsg);
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it
m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE);
m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time
//IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。
m_ctrlTT.RelayEvent(pMsg);
#3
这种方法是在控件中添加提示的吧
#4
MFC里这个类叫做CToolTipCtrl,具体用法很简单。
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it
m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE);
m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time
//IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。
m_ctrlTT.RelayEvent(pMsg);
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it
m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE);
m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time
//IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。
m_ctrlTT.RelayEvent(pMsg);