VC怎么做ToolTip? 想在ComboBox上做ToolTip,当用户鼠标悬停在控件上时,显示当前选项(长度可能大于控件宽度,无法完全显示,所以要Tooltip)。是不是比较复杂?记得Java里面control.setToolTip("xxx");就可以了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MSADDNDR.DLL是Office2000内部的COM插件, 它提供了可重用对象的库,只有在正确注册了相应应用程序的内部COM插件时,才能被其应用程序加载上。利用MSADDNDR.DLL可重用对象的库可以扩充Office2000的功能或应用程序的功能。关于DLL的具体概念在第二学期VB的课程中有详细的讨论。安装VB如果在局域网内先要看你是否有安装软件的权限同时确认VB安装软件没有问题,然后再开始安装VB6,当提示注册MSADDNDR.DLL,按分析那可以先安装Office2000,再装VB。或是已装Office2000但不完全可卸掉重新安装。安装时最好把Office2000安装盘拷贝到硬盘进行安装,以便以后即使运行过程中需要有关的组件可自动搜索相关文件。 不好意思,贴错了应该是这个ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。一般用法步骤:添加CToolTipCtrl成员变量 m_tt。在父窗口中调用EnableToolTips(TRUE);在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并同时指定相应的显示字串CToolTipCtrl::AddTool(pWnd,"string to display")。重载父窗口的 BOOL PreTranslateMessage(MSG* pMsg) ,在函数中调用 m_tt.RelayEvent(pMsg)。下面假设在窗口CWndYour中使用CToolTipCtrl在类定义中添加变量说明:class CWndYour:xxx{ CToolTipCtrl m_tt;}在OnCreate中添加需要显示Tip的子窗口CWndYour::OnCreate(....){ EnableToolTips(TRUE); m_tt.Create(this); m_tt.Activate(TRUE); CWnd* pW=GetDlgItem(IDC_CHECK1);//得到窗口指针 m_tooltip.AddTool(pW,"Check1");//添加........}在BOOL PreTranslateMessage(MSG* pMsg)中添加代码BOOL CWndYour::PreTranslateMessage(MSG* pMsg){ { m_tt.RelayEvent(pMsg); } return CParentClass::PreTranslateMessage(pMsg);}这样当鼠标移动到相应的子窗口上时会显示出相应的ToolTip。动态改变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 ){ TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pTTTStruct; UINT nID =pTTTStruct->idFrom; //得到相应窗口ID,有可能是HWND if (pTTT->uFlags & TTF_IDISHWND) //表明nID是否为HWND { nID = ::GetDlgCtrlID((HWND)nID);//从HWND得到ID值,当然你也可以通过HWND值来判断 switch(nID) case(IDC_YOUR_CONTROL1) strcpy(pTTT->lpszText,your_string1);//设置 return TRUE; break; case(IDC_YOUR_CONTROL2) //设置相应的显示字串 return TRUE; break; } return(FALSE);} 无界面的OCX控件能在文档类中创建吗 FindFirstVolume未定义 keybd_event怎么实现这个功能 ? bitblt(块拷贝)只能在兼容DC间进行吗? 关于addnew()的使用方法 控件开发问题:动态创建完button后如果鼠标不动需要按两下才能触发它的onclick事件 一个简单程序 ,谁帮你看看 请问谁有《VISUAL C++MFC编程实例》这本书的配套源码?或者知道哪里可以下载??万分感谢 怎样把swf文件存成exe 蒋,,过来领分啊!! 利用vc对并口进行操作,到底是一个什么意思啊?对不起,我真的很菜! 【请教高手】如何用VC向单片机串行传输数据啊,急,分不够再加
安装VB如果在局域网内先要看你是否有安装软件的权限同时确认VB安装软件没有问题,然后再开始安装VB6,当提示注册MSADDNDR.DLL,按分析那可以先安装Office2000,再装VB。或是已装Office2000但不完全可卸掉重新安装。安装时最好把Office2000安装盘拷贝到硬盘进行安装,以便以后即使运行过程中需要有关的组件可自动搜索相关文件。
应该是这个ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。一般用法步骤:添加CToolTipCtrl成员变量 m_tt。在父窗口中调用EnableToolTips(TRUE);在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并同时指定相应的显示字串CToolTipCtrl::AddTool(pWnd,"string to display")。重载父窗口的 BOOL PreTranslateMessage(MSG* pMsg) ,在函数中调用 m_tt.RelayEvent(pMsg)。下面假设在窗口CWndYour中使用CToolTipCtrl在类定义中添加变量说明:
class CWndYour:xxx
{
CToolTipCtrl m_tt;
}
在OnCreate中添加需要显示Tip的子窗口
CWndYour::OnCreate(....)
{
EnableToolTips(TRUE);
m_tt.Create(this);
m_tt.Activate(TRUE); CWnd* pW=GetDlgItem(IDC_CHECK1);//得到窗口指针
m_tooltip.AddTool(pW,"Check1");//添加
........
}
在BOOL PreTranslateMessage(MSG* pMsg)中添加代码
BOOL CWndYour::PreTranslateMessage(MSG* pMsg)
{
{
m_tt.RelayEvent(pMsg);
}
return CParentClass::PreTranslateMessage(pMsg);
}这样当鼠标移动到相应的子窗口上时会显示出相应的ToolTip。动态改变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 )
{
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pTTTStruct;
UINT nID =pTTTStruct->idFrom; //得到相应窗口ID,有可能是HWND
if (pTTT->uFlags & TTF_IDISHWND) //表明nID是否为HWND
{
nID = ::GetDlgCtrlID((HWND)nID);//从HWND得到ID值,当然你也可以通过HWND值来判断
switch(nID)
case(IDC_YOUR_CONTROL1)
strcpy(pTTT->lpszText,your_string1);//设置
return TRUE;
break;
case(IDC_YOUR_CONTROL2)
//设置相应的显示字串
return TRUE;
break;
}
return(FALSE);
}