高分:在线等:如何让CToolBarCtrl具有ToolTip

dht_yunx 2003-01-18 03:58:15
我怎么设CToolBarCtrl的Style 和 TBBUTTON的Style 都不行啊?
请高手帮忙了...
...全文
145 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
demetry 2003-02-23
  • 打赏
  • 举报
回复
试一试 vickowang(你的影子无所不在...)
myheartwillgoon 2003-02-15
  • 打赏
  • 举报
回复
1.我在MainFrame下OnCreate()
CToolBarCtrl *wndVToolBar;
wndVToolBar=&(m_wndBar.GetToolBarCtrl());
m_tips=(wndVToolBar->GetToolTips());
m_tips->AddTool()
m_tips->Activate(true);
可是还是出不来ToolTip(前提:我去掉了m_wndBar的CBRS_TOOLTIPS属性。)//


2.自己加上CToolTipCtrl可是无法addtool????
if (m_tips->Create(this))
{
CWnd* pW=GetDlgItem(ID_TOOLBAR_ITEM1);//得到窗口指针
ASSERT(pW!=NULL);
m_tips.AddTool(pW,"1111111111");
}

请执教
dht_yunx 2003-01-20
  • 打赏
  • 举报
回复
弄个ToolTip要这么复杂啊!
:) 能不能简单一点
mymmsc 2003-01-18
  • 打赏
  • 举报
回复
我来学习一下
vickowang 2003-01-18
  • 打赏
  • 举报
回复
我是在对话框中实现的,通过消息处理,代码如下:
1、首先用ON_NOTIFY_EX_RANGE宏绑定消息处理函数,这个宏的含义可以参考
MSDN上的说明
BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnTooltips)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnTooltips)
END_MESSAGE_MAP()
2、然后在消息处理函数中写代码
void CMyDialog::OnTooltips(UINT nID, NMHDR * pNotifyStruct, LRESULT * lResult)
{
CString strToolTip = NeedText(nID, pNotifyStruct, lResult);
LPTOOLTIPTEXTW lpTTTW = (LPTOOLTIPTEXTW)pNotifyStruct;
LPTOOLTIPTEXTA lpTTTA = (LPTOOLTIPTEXTA)pNotifyStruct;

#ifndef _UNICODE
if (pNotifyStruct->code == TTN_NEEDTEXTA)
lstrcpyn(lpTTTA->szText, strToolTip, strToolTip.GetLength() + 1);
else
_mbstowcsz(lpTTTW->szText, strToolTip, strToolTip.GetLength() + 1);
#else
if (pNotifyStruct->code == TTN_NEEDTEXTA)
_wcstombsz(lpTTTA->szText, strToolTip, strToolTip.GetLength() + 1);
else
lstrcpyn(lpTTTW->szText, strToolTip, strToolTip.GetLength() + 1);
#endif

}

CString CReportPreviewDlg::NeedText(UINT nID, NMHDR * pNotifyStruct, LRESULT * lResult )
{
LPTOOLTIPTEXT lpTTT = (LPTOOLTIPTEXT)pNotifyStruct ;

CString strToolTip;
//ID_MOVEFIRST_BTN到ID_GRIDPROP_BTN是ToolBar上的一堆连续的按钮的资源
//ID,因为ON_NOTIFY_EX_RANGE宏是绑定一堆连续的窗口ID的。
if ((lpTTT->hdr.idFrom < ID_MOVEFIRST_BTN) || (lpTTT->hdr.idFrom > ID_GRIDPROP_BTN))
{
strToolTip="";
}
else
{
strToolTip.LoadString(lpTTT->hdr.idFrom);
// szText length is 80
int nLength = (strToolTip.GetLength() > 79) ? 79 : strToolTip.GetLength();

strToolTip = strToolTip.Left(nLength);
}
return strToolTip;
}

3、以上代码是经验证有效。
dht_yunx 2003-01-18
  • 打赏
  • 举报
回复
我动态创建一个CToolBarCtrl,这样如何用CToolTipCtrl::AddTool
dht_yunx 2003-01-18
  • 打赏
  • 举报
回复
难道非要用CToolTipCtrl
sunyuan_01 2003-01-18
  • 打赏
  • 举报
回复
如果是在对话框或基于CWnd的框架中用这就行了
CToolBarCtrl::GetToolTips ()
否则要自己加CToolTipCtrl
内容概要:本文针对孤岛微电网在运行中面临的功率分配不均、电压频率波动等问题,提出了一种基于多智能体一致性演化的自适应虚拟阻抗容错控制与二次稳态补偿机制,并通过Simulink平台进行仿真实现。研究采用多智能体系统(MAS)框架,将各分布式电源建模为具备局部信息交互能力的智能体,利用一致性算法实现全局协同控制;结合自适应虚拟阻抗技术动态调节等效输出阻抗,有效克服线路阻抗差异导致的有功与无功功率耦合问题,提升功率均分精度;同时设计二次控制补偿环节,消除一次下垂控制引入的静态偏差,恢复电压和频率至额定水平。该机制具备良好的容错能力,在部分节点发生故障或通信中断时可自动重构控制结构,维持系统稳定运行,适用于高可靠性和自治性要求的孤岛微电网场景。; 适合人群:具备电力系统、自动化或电气工程等相关专业背景,熟悉微电网控制、多智能体系统理论及现代控制方法的研究生、科研人员及工程技术人员。; 使用场景及目标:①为孤岛微电网提供高精度、强鲁棒性的分布式协同控制解决方案;②解决传统下垂控制中存在的功率分配不准与电能质量下降问题;③实现系统在故障扰动下的自主容错与快速恢复,提升微电网的自愈能力与运行可靠性。; 阅读建议:建议读者结合Simulink仿真模型深入理解控制策略的实现细节,重点关注多智能体通信拓扑构建、一致性协议设计、虚拟阻抗自适应律以及二次补偿控制器的参数整定方法,同时可通过修改故障场景和通信条件进行对比实验,全面掌握该机制的动态响应特性与适应范围。
内容概要:本文围绕“2026年华为杯E题”展开,聚焦于复杂场景下的多模态情感识别问题,提供一套完整的数学建模与算法设计解决方案,涵盖解题思路、代码实现与论文撰写指导,并持续更新优化。该资源隶属于“荔枝科研社”这一综合性科研服务平台,内容涉及智能优化算法、机器学习与深度学习、图像处理、路径规划、通信技术、信号处理、电力系统管理等多个前沿技术领域,主要采用MATLAB和Python作为开发工具,强调对实际科研与竞赛问题的建模仿真与算法优化,具有较强的实践性和应用价值。; 适合人群:具备一定编程基础和科研能力,从事或有意参与数学建模、人工智能、自动化、电气工程等相关领域的研究生、高校学生及科研工作者,尤其适合备战“华为杯”等高水平学科竞赛的参赛者。; 使用场景及目标:①为“2026年华为杯E题”参赛者提供系统性的解题思路、高质量代码参考与论文写作模板;②支持科研人员在多模态情感识别、深度学习建模、智能优化等领域开展算法验证与系统仿真研究;③辅助高校教师教学与学生自主学习,提升复杂工程问题的建模能力与编程实践水平。; 阅读建议:建议读者结合提供的网盘资源与在线目录进行系统性学习,优先选择与自身研究方向契合的技术模块,动手运行并调试代码,尝试复现论文成果,同时关注微信公众号“荔枝科研社”以获取最新资料更新与技术动态。

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧