码迷,mamicode.com
首页 > 编程语言 > 详细

CMFCToolBar、CMFCStatusBar

时间:2018-07-31 01:33:03      阅读:476      评论:0      收藏:0      [点我收藏+]

标签:ext   ram   flat   默认   map   CMF   turn   无法   hang   

首先删除注册表
HKEY_CURRENT_USER\Software\应用程序向导生成的本地应用程序
之下你这铬软件的配置

CMFCToolBar m_myToolBar;
CMFCToolBarImages m_mfcToolbarImage;


//设置一个ID,不然添加不到菜单的视图工具栏集合
m_myToolBar.CreateEx(this, TBSTYLE_FLAT, dwStyle, CRect(1, 1, 1, 1), 1000);
m_myToolBar.AddToolBarForImageCollection(IDR_TOOLBAR1, IDB_BITMAP1);
CString name;
bNameValid = name.LoadString(IDS_MyToolBar);
ASSERT(bNameValid);
m_myToolBar.SetWindowText(name);
m_myToolBar.SetSizes(CSize(23, 22), CSize(16, 15));//设置按钮大小
m_mfcToolbarImage.SetImageSize(CSize(16, 15), TRUE);

CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
m_mfcToolbarImage.AddImage(bmp);

bmp.DeleteObject();

//int aa = m_myToolBar.SetUserImages(&m_mfcToolbarImage);

m_myToolBar.RemoveAllButtons();

// 按钮ID 第几个图片
m_myToolBar.InsertButton(CMFCToolBarButton(ID, 0, _T("提示?"), TRUE, 0));// 在这里CMFCToolBarButton()第四个参数需要设置为true,这样在重绘的时候才会,调用自己设置的图像。

m_myToolBar.AdjustSizeImmediate();

 


//添加组合框
m_myToolBar.InsertButton(CMFCToolBarComboBoxButton(2000, 0), index);

//设置组合框属性
m_comboAddress = (CMFCToolBarComboBoxButton*)m_myToolBar.GetButton(index);
m_comboAddress->EnableWindow(TRUE);
m_comboAddress->SetCenterVert();
m_comboAddress->SetDropDownHeight(100);//设置下拉列表的高度
m_comboAddress->SetFlatMode();

//添加内容
m_comboAddress->AddItem(_T("once"));
m_comboAddress->AddItem(_T("if only"));
m_comboAddress->AddItem(_T("P.S.I Love You"));
m_comboAddress->AddItem(_T("Love Me If You Dare"));
m_comboAddress->SelectItem(0); //默认选中

//添加消息处理映射
ON_COMMAND(IDR_COMBOBOX1, &CMainFrame::OnClickComboBox)
ON_CBN_SELCHANGE(IDR_COMBOBOX1, &CMainFrame::OnSelectChange)

afx_msg void OnClickComboBox();
afx_msg void OnSelectChange();

void CMainFrame::OnClickComboBox()
{//OnClickComboBox没有做任何处理,但是如果去掉的话,组合框将编程灰色,无法使用

}
void CMainFrame::OnSelectChange()
{
CMFCToolBarComboBoxButton* pSrcCombo = CMFCToolBarComboBoxButton::GetByCmd(IDR_COMBOBOX1, TRUE);
int index = m_comboBox->GetCurSel();
index = pSrcCombo->GetCurSel();
CString str = pSrcCombo->GetItem(index);
AfxMessageBox(str);
}


CMFCStatusBar

..添加消息映射,不然自定义的改变颜色无效
ON_COMMAND_RANGE(ID_START, ID_END, NULL)  //indicators[] 里面第一个和最后一个


if (!m_wndStatusBar.Create(this))
{
TRACE0("未能创建状态栏\n");
return -1; // 未能创建
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators) / sizeof(UINT));
m_wndStatusBar.SetPaneWidth(1, 105);
m_wndStatusBar.SetPaneTextColor(1, RGB(0, 0, 255));
m_wndStatusBar.SetPaneText(1, strTime);

CMFCToolBar、CMFCStatusBar

标签:ext   ram   flat   默认   map   CMF   turn   无法   hang   

原文地址:https://www.cnblogs.com/xslwm/p/9393644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!