在mfc中怎样在工具条中添加静态文本

 我来答
mia☆jiancha☆ce6608
推荐于2016-04-02 · TA获得超过1526个赞
知道小有建树答主
回答量:713
采纳率:100%
帮助的人:495万
展开全部
在CMainFrame中加成员变量
CComboBox m_comboList;
CStatic m_static;
然后是OnCreate()中添加代码,注释掉的是添加下拉框的代码,如下:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)
return -1;

BOOL bNameValid;
// 基于持久值设置视觉管理器和样式
OnApplicationLook(theApp.m_nAppLook);

if (!m_wndMenuBar.Create(this))
{
TRACE0("未能创建菜单栏\n");
return -1; // 未能创建
}

m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);

// 防止菜单栏在激活时获得焦点
CMFCPopupMenu::SetForceMenuFocus(FALSE);

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(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}

if (!m_myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_myToolBar.LoadToolBar(IDR_MYTOOLBAR ))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}

CString strToolBarName;
bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
ASSERT(bNameValid);
m_wndToolBar.SetWindowText(strToolBarName);

CString strCustomize;
bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
ASSERT(bNameValid);
m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);

// 允许用户定义的工具栏操作:
InitUserToolbars(NULL, uiFirstUserToolBarId, uiLastUserToolBarId);

if (!m_wndStatusBar.Create(this))
{
TRACE0("未能创建状态栏\n");
return -1; // 未能创建
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));

// TODO: 如果您不希望工具栏和菜单栏可停靠,请删除这五行
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
m_myToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);
DockPane(&m_myToolBar);

// 启用 Visual Studio 2005 样式停靠窗口行为
CDockingManager::SetDockingMode(DT_SMART);
// 启用 Visual Studio 2005 样式停靠窗口自动隐藏行为
EnableAutoHidePanes(CBRS_ALIGN_ANY);

// 启用工具栏和停靠窗口菜单替换
EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR);

// 启用快速(按住 Alt 拖动)工具栏自定义
CMFCToolBar::EnableQuickCustomization();

// if (CMFCToolBar::GetUserImages() == NULL)
// {
// // 加载用户定义的工具栏图像
// if (m_UserImages.Load(_T(".\\UserImages.bmp")))
// {
// m_UserImages.SetImageSize(CSize(16, 16), FALSE);
// CMFCToolBar::SetUserImages(&m_UserImages);
// }
// }

// 启用菜单个性化(最近使用的命令)
// TODO: 定义您自己的基本命令,确保每个下拉菜单至少有一个基本命令。
CList<UINT, UINT> lstBasicCommands;

lstBasicCommands.AddTail(ID_FILE_NEW);
lstBasicCommands.AddTail(ID_FILE_OPEN);
lstBasicCommands.AddTail(ID_FILE_SAVE);
lstBasicCommands.AddTail(ID_FILE_PRINT);
lstBasicCommands.AddTail(ID_APP_EXIT);
lstBasicCommands.AddTail(ID_EDIT_CUT);
lstBasicCommands.AddTail(ID_EDIT_PASTE);
lstBasicCommands.AddTail(ID_EDIT_UNDO);
lstBasicCommands.AddTail(ID_APP_ABOUT);
lstBasicCommands.AddTail(ID_VIEW_STATUS_BAR);
lstBasicCommands.AddTail(ID_VIEW_TOOLBAR);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2003);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_VS_2005);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLUE);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_SILVER);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLACK);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_AQUA);

CMFCToolBar::SetBasicCommands(lstBasicCommands);

int index = 0;
RECT rect;
//找到指定的工具项
while(m_myToolBar.GetItemID(index)!=ID_BUTTONCOMBO)
index++;
//设置指定工具项的宽度并获取新的区域 80是宽度
m_myToolBar.SetButtonInfo(index, ID_BUTTONCOMBO, TBBS_SEPARATOR, 60);
m_myToolBar.GetItemRect(index, &rect);

//设置位置
// rect.top+=2;
// rect.bottom += 200;
rect.left = 0;
rect.top = 2;
rect.right = 60;
rect.bottom = 200;
// 创建并显示控件
if(!m_static.Create("static",WS_CHILD|WS_VISIBLE,rect,&m_myToolBar,100034))
return false;
m_static.ShowWindow(SW_SHOW);

// if(!m_comboList.Create(WS_CHILD|WS_VISIBLE| CBS_AUTOHSCROLL| CBS_DROPDOWNLIST | CBS_HASSTRINGS , rect,
// &m_myToolBar, ID_BUTTONCOMBO))
// {
// TRACE0("Failed to create combo-box\n");
// return FALSE;
// }
//
// //填充内容
//
// m_comboList.AddString("25%");
// m_comboList.AddString("50%");
// m_comboList.AddString("75%");
// m_comboList.AddString("100%");
// m_comboList.AddString("125%");
// m_comboList.AddString("150%");
// m_comboList.AddString("175%");
// m_comboList.AddString("200%");
//
// //选择默认项
// m_comboList.SetCurSel(3);
// m_comboList.ShowWindow(SW_SHOW);

return 0;
}
zkhgh1988
2011-07-26 · TA获得超过128个赞
知道小有建树答主
回答量:301
采纳率:100%
帮助的人:125万
展开全部
直接拖过来就行了啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-26
展开全部
工具条中添加静态文本???不是有一个static Text(显示图标是Aa)么?这就是静态文本啊-
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式