首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC在工具栏创建控件无法正常显示解决方案

2012-09-16 
MFC在工具栏创建控件无法正常显示问题:MFC在工具栏创建控件无法正常显示,我调整了原m_wndToolBar的RECT大

MFC在工具栏创建控件无法正常显示
问题:MFC在工具栏创建控件无法正常显示,我调整了原m_wndToolBar的RECT大小,对其使用了 BTNS_AUTOSIZE 风格都不行

调试平台:VS2010 ,单文档MFC应用程序。

C/C++ code
    if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC ,CRect(1,1,200,1) ) ||        !m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))    {        TRACE0("未能创建工具栏\n");        return -1;      // 未能创建    }    // 用户定义的工具栏操作:        ////////////////////////////////////////    int index = m_wndToolBar.CommandToIndex(ID_SEARCH_TEXT);      m_wndToolBar.SetButtonInfo(index, ID_SEARCH_TEXT, TBBS_SEPARATOR, 100);              CRect rect;    m_wndToolBar.GetItemRect(index, &rect);    m_wndToolBar.GetButton(index)->SetRect( CRect(rect.left,rect.top,rect.right+500,rect.bottom+100) );    m_ComboBox.Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL |CBS_SORT|CBS_DROPDOWNLIST|CBS_AUTOHSCROLL ,        CRect(rect.left,rect.top,rect.right+100,rect.bottom+100),       &m_wndToolBar, ID_SEARCH_TEXT);




[解决办法]
贴个图出来看一下~
[解决办法]
看不到图~
[解决办法]
看不到,另外你的图片大小最好也匹配上Toolbar大小
[解决办法]
忘了加载图标?
[解决办法]
// set combo size
CRect rc;
m_wndToolBar.GetItemRect(idx,&rc);
rc.bottom += 200;//droplist
[解决办法]
more:
// create new 
// event map likes:ON_CBN_EDITCHANGE(ID_COMBO_IN_TOOLBAR, OnEditchangeCombo1)
m_DlgCombo1.Create(WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL|CBS_DROPDOWN|CBS_HASSTRINGS,
rc,&m_wndToolBar,
ID_COMBO_IN_TOOLBAR);// !!!!!
// fill drop list
m_DlgCombo1.ShowWindow(SW_SHOW);
m_DlgCombo1.AddString("xxxx");
m_DlgCombo1.AddString("yyyy");
m_DlgCombo1.AddString("zzzz");
m_DlgCombo1.SetCurSel(0);//E800->E8FF // reposQuery, rcClientNow);

热点排行