CToolTipCtrl使用详解.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CToolTipCtrl使用详解

CToolTipCtrl使用详解 CToolTipCtrl是用来显示单行文本的弹出框,可以给继承自CFrameWnd(提供了一个缺省的TTN_NEEDTEXT消息处理函数)的Windows控件添加一些提示信息。要使用它,包含3个步骤: Enabling Tool Tips Handling TTN_NEEDTEXT Notification for Tool Tips The TOOLTIPTEXT Structure 也就是说,第一步需要先打开这个功能(Tool Tips)。第二步需要处理TTN_NEEDTEXT消息,并不是必须的。第三步是利用TOOLTIPTEXT结构体提供的信息,设置提示内容。打开工具提示消息功能,使用函数EnableToolTips。其原型是: BOOL?EnableToolTips(?BOOL?bEnable?);?? bEnable为TRUE时打开功能,为FALSE时关闭工具提示功能。 处理TTN_NEEDTEXT需要一个消息映射ON_NOTIFY_EX( TTN_NEEDTEXT, 0, memberFxn )。其中的的memberFxn 是消息处理函数。memberFxn 的原型为: afx_msg?void?memberFxn(?NMHDR?*?pNotifyStruct,?LRESULT?*?result?);?? NMHDR是一个结构体,包含了对应控件的句柄、ID和消息代码。此参数可以由NMHDR为其一个成员的结构体替换使用,比如后面提到两种结构体NMTTDISPINFO、TOOLTIPTEXT。 typedef?struct?tagNMHDR?{?? ????HWND?hwndFrom;?? ????UINT?idFrom;?? ????UINT?code;?? }?NMHDR;?? 消息处理函数的参数是NMHDR类型的指针,它实际上指向的是一个 NMTTDISPINFO结构体。 typedef?struct?tagNMTTDISPINFO?{?? ????NMHDR??????hdr;?? ????LPTSTR?????lpszText;?? ????char???????szText[80];?? ????HINSTANCE??hinst;?? ????UINT???????uFlags;?? #if?(_WIN32_IE?=?0x0300) ?? ????LPARAM?????lParam;?? #endif ?? }?NMTTDISPINFO,?FAR?*LPNMTTDISPINFO;?? ?? #define?TOOLTIPTEXT?NMTTDISPINFO?? 使用时常使用TOOLTIPTEXT结构体。 typedef?struct?{?? ????NMHDR?????hdr;????????//?required?for?all?WM_NOTIFY?messages ?? ????LPTSTR????lpszText;???//?see?below ?? ????WCHAR?????szText[80];?//?buffer?for?tool?tip?text ?? ????HINSTANCE?hinst;??????//?see?below ?? ????UINT??????uflags;?????//?flag?indicating?how?to?interpret?the? ?? ??????????????????????????//?idFrom?member?of?the?NMHDR?structure ?? ??????????????????????????//?that?is?included?in?the?structure ?? }?TOOLTIPTEXT,?FAR?*LPTOOLTIPTEXT;?? 可以看出其基本结构是一致的。前者只是后者的一个替代而已。各个成员代码已经做了解释,不再解释。 我们看看MSDN提供的示例: BOOL?CMyFormView::OnToolTipNotify(?UINT?id,?NMHDR?*?pNMHDR,?LRESULT?*?pResult?);?? {?? ????TOOLTIPTEXT?*pTTT?=?(TOOLTIPTEXT?*)pNMHDR;?? ????UINT?nID?=pNMHDR-idFrom;?? ????if?(pTTT-uFlags??TTF_IDISHWND)?? ????{?? ????????//?idFrom?is?actually?the?HWND?of?the?tool ?? ????????nID?=?::GetDlgCtrlID((HWND)nID);?? ????????i

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档