如何实现在View中当鼠标停留在某个位置时,弹出提示框,框中显示我需要的内容?

SunLord 2002-07-30 06:04:54
就象把鼠标放在toolbar的按钮上。大虾请指明方向
...全文
390 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
virtualfunction 2002-07-31
  • 打赏
  • 举报
回复
class CMyView:public CObject
{
.
.
CRect m_rectDisp;
CStatic *m_pDisp;
.
.
}

void CMyView::OnInitUpdate()
{
.
.
m_rectDisp=CRect(...);
m_pDisp=new CStatic;
m_pDisp->Create(..,m_rectDisp,...);
m_pDisp->SetWindowText(".......");
.
.
}

void CMyView::OnMouseMove(...,CPoint point)
{
.
.
if(m_rectDisp.PtInRect(point))
m_pDisp->ShowWindow(SW_SHOW);
else
m_pDisp->ShowWindow(SW_HIDE);
.
.
}




kingzai 2002-07-30
  • 打赏
  • 举报
回复
你可以自己构造一个提示窗口,具体代码可参考:
http://www.codeproject.com/dll/pwdspy.asp中的一个类

purpleclouds 2002-07-30
  • 打赏
  • 举报
回复
用CToolTipCtrl

CToolTipCtrl使用详细解说

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);
}

内容概要:本文系统阐述了基于矩约束的最大熵方法在扩展不确定度评估的理论基础与实现方法,并配套提供了Matlab代码实现。该方法通过引入已知的矩约束(如均值、方差等),在缺乏先验分布信息的前提下,依据最大熵原理推导出最符合客观规律且信息量最大的概率分布,从而对测量结果的不确定度进行更为合理和稳健的量化评估。文详细论述了算法的数学推导过程、数值求解策略以及在实际工程问题的应用步骤,尤其强调了其在处理非正态分布、小样本数据等传统方法难以应对的复杂场景所展现出的优越性。; 适合人群:具备概率统计、信息论及数值计算基础知识,从事测量科学、实验数据分析、可靠性工程、系统建模与仿真等领域研究的科研人员、工程师,以及熟悉Matlab编程并希望深入理解不确定度量化前沿方法的技术开发者; 使用场景及目标:①应用于高精度仪器校准、物理实验数据处理等需要精确评定扩展不确定度的场景;②解决输入变量分布未知或非正态的不确定性传播与合成问题;③目标是克服传统GUM方法的局限性,提升在信息不充分条件下的评估客观性与鲁棒性; 阅读建议:建议读者结合所提供的Matlab代码,深入理解拉格朗日乘子法求解最大熵分布的具体实现过程,重点关注矩约束的构建、熵最大化方程的求解以及最终置信区间的获取,同可通过对比不同约束条件下评估结果的变化,来深刻把握该方法的适用条件与优势所在。
内容概要:本文提出了一种电动汽车聚合可行域的内近似模型,旨在精确刻画大规模电动汽车(EV)集群在充放电过程的灵活性边界,并将其应用于含风、光、负荷等多重不确定性的微电网两阶段鲁棒调度。通过引入鲁棒优化理论,结合大M法与列与约束生成(C&CG)算法,构建了能够有效处理不确定性并保证系统安全运行的优化模型。该方法不仅提升了对EV集群可调度能力的建模精度,还在保证计算效率的同增强了微电网对可再生能源的消纳能力与运行经济性。; 适合人群:具备电力系统优化、鲁棒调度及混合整数规划基础知识,从事新能源并网、电动汽车参与电网互动、微电网能量管理等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究电动汽车集群作为分布式灵活资源参与电网调度的建模方法;②解决高比例可再生能源接入下的微电网两阶段鲁棒调度问题;③掌握大M法与C&CG算法在复杂鲁棒优化模型实现路径与求解技巧; 阅读建议:此资源以Matlab代码实现为核心支撑,建议读者结合文详细的模型推导与算法流程,动手运行并调试配套程序,深入理解内近似建模思想与鲁棒优化求解机制,同可进一步拓展至外近似模型或不同聚合策略的对比分析,以全面掌握EV集群灵活性建模的技术体系。

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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