首页 > 其他分享 >怎么把 CDialogBar像工具条一样使用,有图有真相

怎么把 CDialogBar像工具条一样使用,有图有真相

时间:2022-12-13 18:03:29浏览次数:59  
标签:return uID 有图 工具条 CDialogBar CPP pNMHDR


怎么把 CDialogBar像工具条一样使用  ​​http://support.microsoft.com/kb/185672​

然后再CMainframe的OnCreate()创建它,

if (!m_wndDialogBar.Create(this,IDR_DLGBAR, 
CBRS_ALIGN_TOP | CBRS_FLYBY , AFX_IDW_DIALOGBAR))
{
TRACE0("Failed to create dialogbar\n");
return -1; // fail to create
} =====================================================================

我以为CDialogBar工具栏上的按钮加ToolTip提示为例

按照下面的步骤去做:   
  1、先为工具栏上的按钮设置一个ID,如IDC_BUTTON1;  
  2、在继承CDialogBar类的头文件中的AFX_MSG内加入一行申明   
       afx_msg BOOL OnToolTip(UINT id,NMHDR *pNMHDR,LRESULT *pResult);

  3、在继承CDialogBar类的CPP文件中的AFX_MSG_MAP内加入一行   
       ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnToolTip)
  4、在继承CDialogBar类的CPP文件中的OnInitDialog()函数内加入   
        EnableToolTips(TRUE);   
  5、在继承CDialogBar类的CPP文件中添加OnToolTip函数  

ToolTip(UINT id,NMHDR *pNMHDR,LRESULT *pResult)
{
TOOLTIPTEXT *pTTT=(TOOLTIPTEXT*)pNMHDR;
UINT uID=pNMHDR->idFrom;
if(pTTT->uFlags & TTF_IDISHWND)
uID = ::GetDlgCtrlID((HWND)uID);
if(uID == NULL) return FALSE;
switch(uID)
{
case IDC_BUTTON1:
pTTT->lpszText=_T("Open image file");
break;
}
return TRUE;
}

       就这几步就可以了,这种方法不光可以为CDialogBar,而且还可以为任何VC程序上的任何控件加ToolTip工具提示,可谓万能方法。

怎么把 CDialogBar像工具条一样使用,有图有真相_工具

     这个图的工具条就是CDialogBar

标签:return,uID,有图,工具条,CDialogBar,CPP,pNMHDR
From: https://blog.51cto.com/u_15911341/5934955

相关文章