zoukankan      html  css  js  c++  java
  • MFC中给静态文本加上提示的做法

    作者:朱金灿
    来源:http://blog.csdn.net/clever101/


          还是那句老话:纸上得来终觉浅,绝知此事要躬行。前天给同事解决了一个问题,他动态创建了一个静态控件,可是这个静态控件的ToolTip总是显示不出来。我提示他在创建时要设置一下窗口风格。果然他在创建时加上SS_NOPREFIX就好了。

    今天抽空把这个知识记录一下(这也算是我的一个习惯了,无关乎技术含量),上网搜了一下CToolTipCtrl类的用法,搜到一篇文章:


         CToolTipCtrl 使用详细解说


         我测试了该文的做法,发现要与该文作者商榷一下了。该文作者说:


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


    一般用法步骤:
    1.添加CToolTipCtrl成员变量 m_tt。
    2.在父窗口中调用 EnableToolTips(TRUE);
    3. 在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并同时指定相应的显示字串 CToolTipCtrl::AddTool(pWnd,"string to display")。
    4.重载父窗口的 BOOL PreTranslateMessage(MSG* pMsg) ,在函数中调用 m_tt.RelayEvent(pMsg)。
    下面假设在窗口CWndYour中使用 CToolTipCtrl

    但是我照该文的做法,移动鼠标到静态文本控件上提示并没出来。我感觉正确的做法应该是设置窗口风格。具体是,如果你是拖来控件的做法,要把Notify的属性设为TRUE,具体如下图:


    static property setting


          如果你是动态创建静态文本控件,必须给窗口风格添加SS_NOTIFY(其它窗口我也估计也类似),具体是:



          我的编译环境为: VS 2005 + sp1, Win XP sp3。


    参考文献:


    1. CToolTipCtrl 使用详细解说










  • 相关阅读:
    vue-cli项目中使用vw——相比flexible更原生的移动端解决方案
    android shap画圆(空心圆、实心圆)
    Android四大组件——Activity跳转动画、淡出淡入、滑出滑入、自定义退出进入
    HDU 3980 Paint Chain (sg函数)
    HDU 3951 Coin Game (简单博弈)
    HDU 1850 Being a Good Boy in Spring Festival (Nim博弈)
    HDU 3389 Game (阶梯博弈)
    HDU 3032 Nim or not Nim? (sg函数)
    HDU 1907 John (Nim博弈)
    HDU 4638 Group (线段树 | 树状数组 + 离线处理)
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6471055.html
Copyright © 2011-2022 走看看