winform tooltip,

  winform tooltip,

  http://blog.sina.com.cn/s/blog_6163bdeb0100pcld.html

  若要向窗口或其中的控件添加提示框,可以使用MFC的类CToolTipCtrl。使用方法如下

  1.在窗口的类定义中添加变量描述:

  类CTooltipTestDlg:公共CDialog{

  …

  公共:

  TT;

  …

  }

  2.在对话框的OnInitDialog()函数中添加以下代码

  enable tooltips(TRUE);

  tt。创造(这个);

  tt。激活(真);

  CWnd * pW=GetDlgItem(IDC _ check 1);//获取指向控件的指针

  tt。AddTool(pW,L check 1 lakjsfasfdasfd );//为此控件添加提示

  3.重载父窗口的Bool PretranslateMessage(msg * pmsg),调用m_tt。函数中的RelayEvent(pMsg)

  BOOL CTooltipTestDlg:PreTranslateMessage(MSG * pMsg)

  {

  //TODO:在此添加您的专用代码和/或调用基类

  if (NULL!=TT。GetSafeHwnd())

  {

  tt。relay event(pMsg);

  }

  返回CDialog:PreTranslateMessage(pMsg);

  }

  这就完成了向控件添加提示。

  如果要修改添加的提示的内容,可以使用UpdateTipText函数,如下所示

  CWnd * pW=GetDlgItem(IDC _ check 1);//获取添加的提示控件

  tt。UpdateTipText(Lasdflasdf ,pW);//更新提示的内容

  其他控制功能可以在MSDN的CToolTipCtrl类中找到。

  对于静态文本框,将Notify属性设置为TRUE。如果静态文本控件是动态创建的,则必须将SS_NOTIFY添加到窗口样式中,例如

  m_StaticText。Create(_T(mystatic ),WS _ CHILD WS _ VISIBLE WS _ BORDER SS _ NOTIFY,

  CRect(10,10,150,50),this);

  详情请参考以下链接。

  参考:

  CToolTipCtrl用法详解3358 hi . Baidu . com/fate yeh/blog/item/fc 7c 07 b 37 ab 250 a7d 9335 aa 7 . html

  MFC 3358 www..com/clever101/archive/2010/05/01/1725578.html中静态文本的提示

  另外,如果你想得到一个更强大的提示提示框,你可以使用白俄罗斯人编写的定制tooltiphttp://www.codeproject.com/KB/miscctrl/pptooltip.aspx。

  http://www . cn blogs . com/clever 101/archive/2010/05/01/1725578 . html

  MFC中向静态文本添加提示的方法

  作者:朱

  资料来源:http://www..com/clever101/

  有句老话:纸上谈兵难学,实干难做。前天给同事解决了一个问题。他动态创建了一个静态控件,但是这个静态控件的工具提示无法显示。我提醒他在创建窗口时设置窗口样式。果然他在创建的时候就加了SS_NOPREFIX。

  今天我花时间记录了这些知识(这也是我的一个习惯,和技术含量无关)。我在网上搜索CToolTipCtrl类的用法,找到一篇文章:

  CToolTipCtrl用法的详细说明

  我测试了这篇文章的做法,发现还得和这篇文章的作者讨论一下。作者说:

  ToolTip是Win32中的一个通用控件,MFC中为它生成了一个类CToolTipCtrl。总的来说,它的使用方法比较简单。先说一下它的一般用法和高级用法。

  一般使用步骤:

  1.添加CToolTipCtrl成员变量m_tt。

  2.在父窗口中调用EnableToolTips(TRUE );

  3.将需要显示提示的子窗口添加到窗口的OnCreate(或其他适当位置)的工具提示中,同时指定对应的显示字符串CTOOLTIPTRL: AddTool (pwnd, string to display )。

  4.重载父窗口的Bool PretranslateMessage(msg * pmsg),调用m_tt。函数中的RelayEvent(pMsg)。

  我们假设在窗口CWndYour中使用了CToolTipCtrl。

  然而,正如我在本文中所做的,我将鼠标移到静态文本控件上,提示没有出现。我觉得正确的做法是设置窗口样式。具体来说,如果拖动控件,请将Notify属性设置为TRUE,如下图所示:

  TOOLTIP border=0 alt= src= http://usera . image cave . com/clever 101/program 3/static属性设置。JPG real _ src= http://usera . image cave . com/clever 101/program 3/static属性设置。JPG的

  如果是动态创建静态文本控件,必须将SS_NOTIFY添加到窗口样式中(我猜其他窗口也差不多),具体来说:

   TOOLTIP alt=copy code src= 3359common..com/images/copycode.gif real _ src= 3358common..com/images/copycode.gif

  class caboutdlg:public dialog

  {

  公共:

  CAboutDlg();

  //对话数据

  枚举{ IDD=IDD _ about box };

  受保护:

  virtualvoiddoddataxexchange(CDATA exchange * pdx);//DDX/DDV支持

  //实现

  受保护:

  声明消息映射()

  观众:

  virtualboolonnitdialog();

  私人的:

  tt

  cstaticm _ statictext

  观众:

  virtualboolpretractmessage(msg * pmsg):

  }:

  BOOLCAboutDlg:OnInitDialog()

  {

  CD dialog:ininitdialog();

  //全部:在此添加额外的初始化

  S7-1200可编程控制器。创建(_ t( mysatic )ws _ child ws _ visible ws _ border ss _ notify,

  CRect(10,10,150,50),这一点;

  tt,你好吗?创造(此);

  tt,你好吗?激活(真):

  tt,你好吗?AddTool( m_StaticText,_T(这是一个静态文本我的天);//添加

  返回TRUE://返回真实的除非syusetthefnostcontrol

  //异常:OCX属性页应返回假的

  }

  boolcaboutdlg:翻译前消息(msg * pmsg)

  {

  //全部:在此添加专用代码和/或调用基类

  如果(零!S7-1200可编程控制器GetSafeHwnd())

  tt,你好吗?报告(pmsg);

  return CD dialog:pre translate message(pmsg);

  }

  http://嗨。百度一下。com/fate yah/blog/item/fc 7c 7b 37 ab 250至7d9335aa7.html

  工具控制使用详细解说

  2006年8月8日至14日上午8时58分

  按(作者)闻怡洋wy _ CQ @ 188。net http://vchelp。163 .网

  工具提示是Win32中中一个通用控件,MFC中为其生成了一个类ctooltipctrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。

  一般用法步骤:

  添加工具控制成员变量tt,你好吗?

  在父窗口中调用启用工具提示(正确):

  在窗口的OnCreate(或者其他适当的位置)中向工具提示中添加需要显示小提示的子窗口,并同时指定相应的显示字串ctoolpctrl:添加工具(pwnd,"显示字符串")。

  重载父窗口的布尔预处理消息(MSG* pMsg),在函数中调用tt,你好吗?报告(pMsg).

  下面假设在窗口CWndYour公司中使用工具控制

  在类定义中添加变量说明:类别你的名字是:XXX { ctoolcype ctrl m _ TT;}在OnCreate(创建)中添加需要显示小提示的子窗口cwndhour:OnCreate(.我.){启用工具提示(true);tt,你好吗?创造(此);tt,你好吗?activate(TRUE):cwnd * pw=get lgitem(IDC _ check 1);//得到窗口指针m_tooltipAddTool(pW," check 1 ");//添加.我.}在布尔预处理消息(MSG* pMsg)中添加代码bool cwndtu:pre translate message(msg * pmsg){ { m _ TT .报告(pmsg);}返回cparecclass:pre translate message(pmsg);}

  这样当鼠标移动到相应的子窗口上时会显示出相应的工具提示。

  动态改变工具提示的显示内容的方法及步骤:

  上面所讲的一、二、四步骤。

  在增加工具提示时不指定显示的字串,而是使用lpstr _回调。

  在窗口中增加消息映射ON_NOTIFY_EX( TTN_NEEDTEXT,0,SetTipText).

  在窗口中增加一个函数用于动态提供显示内容,其原型为BOOL SetTipText( UINT id、nmhdr *、lrsult * pre),下面的代码可以根据传入的参数判定应该显示的内容。

  bool cwndtu:settiptext(uint id、nmhdr * ptttstruct、lrsult * pre){ tool text * pttt=(tool text *)PTT TTS trut;uint NID=ptttschat-id from;//得到相应窗口身份号,有可能是硬件if(pttt-ufls TTF _ idishwnd)//表明-巢是否为hwnd { NID=:获取LG ctrl lid(hwnd)NID;//从温得得到身份号值,当然你也可以通过温得值来判断switch(NID)case(IDC _ your _ control 1)strcpy(pttt-lpsz text,your _ string 1);//设置返回真实的打断;打断;案例(IDC_YOUR_CONTROL2) //设置相应的显示字串返回真实的打断;打断;}返回(假);}

  工具提示是Win32中中一个通用控件,MFC中为其生成了一个类ctooltipctrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。

  一般用法步骤:

  添加工具控制成员变量tt,你好吗?

  在父窗口中调用启用工具提示(正确):

  在窗口的OnCreate(或者其他适当的位置)中向工具提示中添加需要显示小提示的子窗口,并同时指定相应的显示字串ctoolpctrl:添加工具(pwnd,"显示字符串")。

  重载父窗口的布尔预处理消息(MSG* pMsg),在函数中调用tt,你好吗?报告(pMsg).

  下面假设在窗口CWndYour公司中使用工具控制

  在类定义中添加变量说明:类别你的名字是:XXX { ctoolcype ctrl m _ TT;}在OnCreate(创建)中添加需要显示小提示的子窗口cwndhour:OnCreate(.我.){启用工具提示(true);tt,你好吗?创造(此);tt,你好吗?activate(TRUE):cwnd * pw=get lgitem(IDC _ check 1);//得到窗口指针m_tooltipAddTool(pW," check 1 ");//添加.我.}在布尔预处理消息(MSG* pMsg)中添加代码bool cwndtu:pre translate message(msg * pmsg){ { m _ TT .报告(pmsg);}返回cparecclass:pre translate message(pmsg);}

  这样当鼠标移动到相应的子窗口上时会显示出相应的工具提示。

  动态改变工具提示的显示内容的方法及步骤:

  上面所讲的一、二、四步骤。

  在增加工具提示时不指定显示的字串,而是使用lpstr _回调。

  在窗口中增加消息映射ON_NOTIFY_EX( TTN_NEEDTEXT,0,SetTipText).

  在窗口中增加一个函数用于动态提供显示内容,其原型为BOOL SetTipText( UINT id、nmhdr *、lrsult * pre),下面的代码可以根据传入的参数判定应该显示的内容。

  bool cwndtu:settiptext(uint id、nmhdr * ptttstruct、lrsult * pre){ tool text * pttt=(tool text *)PTT TTS trut;uint NID=ptttschat-id from;//得到相应窗口身份号,有可能是硬件if(pttt-ufls TTF _ idishwnd)//表明-巢是否为hwnd { NID=:获取LG ctrl lid(hwnd)NID;//从温得得到身份号值,当然你也可以通过温得值来判断switch(NID)case(IDC _ your _ control 1)strcpy(pttt-lpsz text,your _ string 1);//设置返回真实的打断;打断;案例(IDC_YOUR_CONTROL2) //设置相应的显示字串返回真实的打断;打断;}返回(假);}

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: