zoukankan      html  css  js  c++  java
  • CMFCToolBar、CMFCStatusBar

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

    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("未能创建状态栏 ");
    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);

  • 相关阅读:
    使用kbmmw 生成REST 服务OpenAPI函数原型
    kbmmw 5.08 正式发布
    在datasnap 中使用unidac 访问数据(客户端)
    使用双引擎,让kbmmw 的客户端访问更方便
    使用kbmMWConfiguration 让 kbmmw smartservice 更聪明
    CE lua脚本
    error LNK2019: 无法解析的外部符号 __vsnwprintf,该符号在函数 "long __stdcall StringVPrintfWorkerW
    安装 directx sdk 出现 S1023 解决
    dx11的一些数据结构
    git 比较 change to be committed
  • 原文地址:https://www.cnblogs.com/xslwm/p/9393644.html
Copyright © 2011-2022 走看看