您的位置:首页 > 编程语言 > C语言/C++

MFC对话框加载工具栏和状态栏

2016-01-03 11:39 465 查看
状态栏

在头文件中定义一个状态栏还有一个状态栏ID的数组(状态栏分多少格就多长的数组)

CStatusBar m_StatusBar;
UINT m_nStatusBarID[2];
变量的赋值和状态栏显示

//复制ID
m_nStatusBarID[0] = 10240;
m_nStatusBarID[1] = 10241;
//创建
m_StatusBar.Create(this);
m_StatusBar.SetIndicators(m_nStatusBarID, sizeof(m_nStatusBarID)/sizeof(UINT));
//设置每一格的宽
m_StatusBar.SetPaneInfo(0,m_nStatusBarID[0],0,m_rcClient.Width()/5*4);
m_StatusBar.SetPaneInfo(1,m_nStatusBarID[1],0,m_rcClient.Width()/5);
//显示内容
m_StatusBar.SetPaneText(0,"Ready");
m_StatusBar.SetPaneText(1,"1970-01-01 00:00:00");
//显示调节状态栏
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
MSDN对RepositionBars的注解:

void RepositionBars( UINT nIDFirst, UINTnIDLast, UINTnIDLeftOver, UINTnFlag =CWnd::reposDefault, LPRECTlpRectParam =NULL,
LPCRECT
lpRectClient = NULL, BOOL bStretch = TRUE );

Called to reposition and resize control bars in the client area of a window.
The nIDFirst and nIDLast parameters define a range of control-bar IDs to be repositioned in the client area. ThenIDLeftOver parameter specifies the ID of the child window (normally the view) which is repositioned and resized
to fill the rest of the client area not filled by control bars.

工具栏:(加bmp图片)

在资源视图里面插入一个ToolBar 并且对工具栏上面按钮先初始化(给ID,后面会用到 nID数组 )

头文件定义:

CToolBar m_ToolBar;    //工具栏
CImageList m_ImgList; //图片列表


实现:

m_ToolBar.Create(this);
m_ToolBar.SetBarStyle(CBRS_ALIGN_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_BORDER_3D);//类型
const UINT nID[5] = {ID_BUTTON_NEW, ID_BUTTON_OPEN, ID_BUTTON_SAVE, ID_BUTTON_SAVEAS, ID_BUTTON_IMPORT};
m_ToolBar.SetButtons(nID, 5);
m_ToolBar.SetSizes(CSize(64,70), CSize(48,48));//设置大小
m_ToolBar.SetButtonText(0, "New");	//显示字
m_ToolBar.SetButtonText(1, "Open");
m_ToolBar.SetButtonText(2, "Save");
m_ToolBar.SetButtonText(3, "SaveAs");
m_ToolBar.SetButtonText(4, "Import");
m_ToolBar.GetToolBarCtrl().SetImageList(&m_ImgList);    //设置图片
<span style="color:#FF9900;">
//必须注册,否则不显示
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0); </span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息