Dialog中的Toolbar上的TipText为何显示不出来? 使用TBSTYLE_TOOLTIPS 建立toolbar 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在CXDialog的OnCreate函数下:if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } 我按kingzai的方法,改成如下,可是还是不行。if( !m_wndStatusBar.CreateEx( this,SBT_TOOLTIPS, WS_CHILD|WS_VISIBLE|SBT_TOOLTIPS|CBRS_NOALIGN) ||!m_wndStatusBar.SetIndicators( indicators, sizeof( indicators) /sizeof( UINT ) )){ TRACE0( "Failed to create status bar\n" ); return -1;}if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_TOOLBAR) ){ TRACE0( "Failed to create tool bar\n" ); return -1;} 这是因为对话框没有TTN_xxx处理函数,写上邮箱,我发给你一个例子 private: CToolBarCtrl *m_toolbarCtrl ; TBBUTTON btn[5]; BOOL NotifyFunction( UINT id, NMHDR * pTTTStruct, LRESULT * pResult ); void SetToolBarPosition(int pos); void CDlg_TTBarDlg::SetToolBarPosition(int pos){ m_toolbarCtrl = NULL ; VERIFY(m_toolbarCtrl == NULL ); m_toolbarCtrl = new CToolBarCtrl() ; CRect wndRect ; GetWindowRect(&wndRect); CRect rc(0,0,wndRect.right , 50); if ( pos == 0 ) m_toolbarCtrl->Create(TBSTYLE_TOOLTIPS |WS_CHILD | WS_VISIBLE | CCS_TOP | CCS_NODIVIDER, rc ,this , 0 ); else m_toolbarCtrl->Create(TBSTYLE_TOOLTIPS |WS_CHILD | WS_VISIBLE | CCS_BOTTOM | CCS_NODIVIDER , rc ,this , 0 ); m_toolbarCtrl->AddButtons(5, btn); m_toolbarCtrl->AddBitmap(1, IDR_MAINFRAME); CSize sz_btn(30,30); m_toolbarCtrl->SetButtonSize(sz_btn); CSize sz_img(30,30); m_toolbarCtrl->SetBitmapSize(sz_img); m_toolbarCtrl->AutoSize();}BOOL CDlg_TTBarDlg::OnInitDialog(){ CDialog::OnInitDialog(); btn[0].iBitmap = 0 ; btn[0].idCommand = ID_NEW ; btn[0].fsState = TBSTATE_ENABLED ; btn[0].fsStyle = TBSTYLE_BUTTON ; btn[0].dwData = 0 ; btn[0].iString = 0; btn[1].iBitmap = 1 ; btn[1].idCommand = ID_LIST ; btn[1].fsState = TBSTATE_ENABLED ; btn[1].fsStyle = TBSTYLE_BUTTON ; btn[1].dwData = 0 ; btn[1].iString = 1; btn[2].iBitmap = 2 ; btn[2].idCommand = ID_CUT ; btn[2].fsState = TBSTATE_ENABLED ; btn[2].fsStyle = TBSTYLE_BUTTON ; btn[2].dwData = 0 ; btn[2].iString = 2; btn[3].iBitmap = 3 ; btn[3].idCommand = ID_PRINT ; btn[3].fsState = TBSTATE_ENABLED ; btn[3].fsStyle = TBSTYLE_BUTTON ; btn[3].dwData = 0 ; btn[3].iString = 3; btn[4].iBitmap = 4 ; btn[4].idCommand = ID_EXIT ; btn[4].fsState = TBSTATE_ENABLED ; btn[4].fsStyle = TBSTYLE_BUTTON ; btn[4].dwData = 0 ; btn[4].iString = 4; EnableToolTips(TRUE); SetToolBarPosition(0); return TRUE; // return TRUE unless you set the focus to a control} 要完全的程序,可给我发邮件:[email protected] MSDN中有示例CTRLBARS sample (MFC) see DLGCBR32 sample (MFC)in MSDN 请教,如何去掉Add(_T("标E准"), xtpBarLeft)这个按钮?谢谢 急求对图像矫正处理算法思想 YUV2转RGB显示问题 能显示就给分(可以再加) VC2005中头文件问题 vc的序列化serialize和直接使用CFile进行读取有什么区别? 已将某文件类型和程序关联,双击文件只启动程序但未打开文件,程序哪方面有问题 再问一个窗体显示的问题,急! 请问如何用一个变量来表示一个控件 默认按钮问题?各位来帮一下. 我不知谁回答这个问题有分? 〈解除WINDOWS注册表锁定》的免费软件,欢迎大家使用 怎么才能从当前IE窗口中得到网址?
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if( !m_wndStatusBar.CreateEx( this,SBT_TOOLTIPS, WS_CHILD|WS_VISIBLE|SBT_TOOLTIPS|CBRS_NOALIGN) ||
!m_wndStatusBar.SetIndicators( indicators, sizeof( indicators) /sizeof( UINT ) ))
{ TRACE0( "Failed to create status bar\n" );
return -1;
}if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE |
CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC)
|| !m_wndToolBar.LoadToolBar(IDR_TOOLBAR) )
{ TRACE0( "Failed to create tool bar\n" );
return -1;
}
CToolBarCtrl *m_toolbarCtrl ;
TBBUTTON btn[5];
BOOL NotifyFunction( UINT id, NMHDR * pTTTStruct, LRESULT * pResult );
void SetToolBarPosition(int pos);
void CDlg_TTBarDlg::SetToolBarPosition(int pos)
{
m_toolbarCtrl = NULL ;
VERIFY(m_toolbarCtrl == NULL );
m_toolbarCtrl = new CToolBarCtrl() ; CRect wndRect ;
GetWindowRect(&wndRect);
CRect rc(0,0,wndRect.right , 50);
if ( pos == 0 )
m_toolbarCtrl->Create(TBSTYLE_TOOLTIPS |WS_CHILD | WS_VISIBLE | CCS_TOP | CCS_NODIVIDER, rc ,this , 0 );
else
m_toolbarCtrl->Create(TBSTYLE_TOOLTIPS |WS_CHILD | WS_VISIBLE | CCS_BOTTOM | CCS_NODIVIDER , rc ,this , 0 ); m_toolbarCtrl->AddButtons(5, btn);
m_toolbarCtrl->AddBitmap(1, IDR_MAINFRAME); CSize sz_btn(30,30);
m_toolbarCtrl->SetButtonSize(sz_btn);
CSize sz_img(30,30);
m_toolbarCtrl->SetBitmapSize(sz_img); m_toolbarCtrl->AutoSize();
}
BOOL CDlg_TTBarDlg::OnInitDialog()
{
CDialog::OnInitDialog(); btn[0].iBitmap = 0 ;
btn[0].idCommand = ID_NEW ;
btn[0].fsState = TBSTATE_ENABLED ;
btn[0].fsStyle = TBSTYLE_BUTTON ;
btn[0].dwData = 0 ;
btn[0].iString = 0; btn[1].iBitmap = 1 ;
btn[1].idCommand = ID_LIST ;
btn[1].fsState = TBSTATE_ENABLED ;
btn[1].fsStyle = TBSTYLE_BUTTON ;
btn[1].dwData = 0 ;
btn[1].iString = 1; btn[2].iBitmap = 2 ;
btn[2].idCommand = ID_CUT ;
btn[2].fsState = TBSTATE_ENABLED ;
btn[2].fsStyle = TBSTYLE_BUTTON ;
btn[2].dwData = 0 ;
btn[2].iString = 2; btn[3].iBitmap = 3 ;
btn[3].idCommand = ID_PRINT ;
btn[3].fsState = TBSTATE_ENABLED ;
btn[3].fsStyle = TBSTYLE_BUTTON ;
btn[3].dwData = 0 ;
btn[3].iString = 3; btn[4].iBitmap = 4 ;
btn[4].idCommand = ID_EXIT ;
btn[4].fsState = TBSTATE_ENABLED ;
btn[4].fsStyle = TBSTYLE_BUTTON ;
btn[4].dwData = 0 ;
btn[4].iString = 4; EnableToolTips(TRUE); SetToolBarPosition(0); return TRUE; // return TRUE unless you set the focus to a control
}
[email protected]
CTRLBARS sample (MFC)