zoukankan      html  css  js  c++  java
  • vs2008 对话框上的工具栏添加提示信息

    对话框上的工具条上的提示信息不能采用mfc应用程序直接在资源中添加的方式添加,因为对话框不由CFrameWnd管理。

    1. 在对话框类头文件.h中添加

    BOOL OnToolTipNotify( UINT id,NMHDR* pNMHDR,LRESULT* pResult);

    2. 在对话框.cpp文件中添加

    (1)消息映射中添加:

    BEGIN_MESSAGE_MAP(CAssessMainDialog, CBCGPDialog)

    //控件响应,范围为0到无穷大

    ON_NOTIFY_EX( TTN_NEEDTEXT,0,OnToolTipNotify)

    //控件响应,范围为0到OxFFFF
     //ON_NOTIFY_EX_RANGE( TIN_NEEDTEXT,0,OxFFFF,OnToolTipNotify)
    END_MESSAGE_MAP()

    (2)添加响应函数:

    BOOL CAssessMainDialog::OnToolTipNotify( UINT id,NMHDR* pNMHDR,LRESULT* pResult )

     BOOL bResult = TRUE;
     TOOLTIPTEXT *pTTT = (TOOLTIPTEXT*)pNMHDR;
     UINT_PTR uID = pNMHDR->idFrom;
     if ( pTTT->uFlags && TTF_IDISHWND)
     {  

      //int nID = ::GetDlgCtrlID(HWND(uID);)网上例子说uID为控件在窗口中的句柄,测试结果其实就是控件的ID,因此这句不需要,

     //也可能是编译器的原因。。。。。。
      CString strToolTips(_TEXT(""));
      switch ( uID )
      {
      case ID_EXECUTE:
       strToolTips.Format(_TEXT("%s"),_TEXT("执行评估流程"));
       break;
      case ID_SAVEFILE:
       strToolTips.Format(_TEXT("%s"),_TEXT("保存评估流程"));
       break;
      case ID_OPENFILE:
       strToolTips.Format(_TEXT("%s"),_TEXT("打开评估流程"));
       break;
      default:
       bResult = FALSE;
      }
      if ( TRUE == bResult)
      {
       *pResult = 0;
       _tcscpy( pTTT->lpszText,strToolTips);
       pTTT->hinst = NULL;

      }
      return bResult;
     }

    }

    (3)启用工具提示

    在初始化函数中添加,不一定在OnInitDialog函数中。

    BOOL CAssessMainDialog::OnInitDialog()
    {
     CBCGPDialog::OnInitDialog();
     CBCGPDialog::EnableVisualManagerStyle();
     m_ToolBar->EnableToolTips(TRUE);

    //网上的例子是直接启用对话框工具提示,测试结果只能对整个工具栏显示提示信息,改为启用工具栏提示信息,ok了

    //EnableToolTips(TRUE); 

    return TRUE; 
    }

    参见“百度文库”http://wenku.baidu.com/view/bf6a9105cc17552707220890.html

  • 相关阅读:
    缓存
    java内存模型—先行发生原则
    Java中的阻塞队列
    java的Map
    事务传播性、隔离性与MVCC
    final修饰符
    领域驱动设计和实践
    对象转换利器之Dozer
    SharePoint Iframe 报错“此内容不能显示在一个框架中”
    使用SVG symbols建立图标系统
  • 原文地址:https://www.cnblogs.com/huipengkankan/p/2176020.html
Copyright © 2011-2022 走看看