第一步:在CMainFrame类里添加保护成员 CToolBar m_wndDrawToolBar;
第二步:ToolBar的ID号为:IDR_TOOLBAR,在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里添加代码:
if (!m_wndDrawToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndDrawToolBar.LoadToolBar(IDR_TOOLBAR))
{
TRACE0("Failed to create Draw toolbar\n");
return -1; // fail to create
}
m_wndDrawToolBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndDrawToolBar);
DockControlBarLeftOf(&m_wndDrawToolBar, &m_wndToolBar);//第三步里的成员函数
第三步:在CMainFrame里添加公有成员函数:void DockControlBarLeftOf(CToolBar* leftBar, CToolBar* rightBar);
函数具体代码为:
void CMainFrame::DockControlBarLeftOf(CToolBar *leftBar, CToolBar *rightBar)
{
// 设置工具条并列停靠在同一条边上
CRect rect; // 矩形区域定义
DWORD dw;
UINT n = 0;
RecalcLayout(); //重新显示
rightBar->GetWindowRect(&rect);
rect.OffsetRect(1, 0);
dw=rightBar->GetBarStyle();
n=(dw&CBRS_ALIGN_TOP) ? AFX_IDW_DOCKBAR_TOP : n;
n=(dw&CBRS_ALIGN_BOTTOM && n==0) ? AFX_IDW_DOCKBAR_BOTTOM : n;
n=(dw&CBRS_ALIGN_LEFT && n==0) ? AFX_IDW_DOCKBAR_LEFT : n;
n=(dw&CBRS_ALIGN_RIGHT && n==0) ? AFX_IDW_DOCKBAR_RIGHT : n;
DockControlBar(leftBar, n, &rect);
}
MFC里如何初始化ToolBar的大小和位置
第一步:在CMainFrame类里添加保护成员 CToolBarm_wndDrawToolBar;第二步:ToolBar的ID号为:IDR_TOOLBAR,在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里添加代码:if (!m_wndDrawToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS...
MFC单文档程序的菜单栏怎么修改高度和宽度?
在资源编辑器中,选中任意一个toolbar的图标,拉伸大小,即可改变整个工具栏的高度和宽度。但从CMenu继承的标准菜单栏是没法改变宽高的,一般来说,只能通过重载后DrawItem修改字体大小来改变高度,宽度可以通过空格或者\\t制表符来控制。另外,WM_MEASUREITEM消息可以更改弹出菜单的高度,但对MFC标准菜单貌似无...
mfc怎样设置工具栏的位置
CFrameWnd::DockControlBar也可以改变位置 DockControlBar(&m_wndToolBar,AFX_IDW_DOCKBAR_BOTTOM);DockControlBar(&m_wndToolBar,AFX_IDW_DOCKBAR_BOTTOM);void DockControlBar( CControlBar* pBar, UINT nDockBarID = 0, LPCRECT lpRect = NULL);浮动工具条可以调用CFrameWnd::FloatContro...
MFC 工具栏 尺寸设置
void SetSizes(SIZE sizeButton,SIZE sizeImage);设置工具栏按钮的大小和图片的大小。参数sizeButton为工具栏按钮的像素大小。参数sizeImage为图片的像素大小。SetButtonWidth 设置按钮的宽度
...mfc工程 只想加一个有四个按钮的toolbar 请问怎么把这个toolbar(idr...
tab.nID=IDR_TOOLBAR1;iBmp=::SendMessage(hToolsWindow,TB_ADDBITMAP,(WPARAM)3,(LPARAM)&tab);向工具条添加工具条按钮的关键在于对TBBUTTON数据结构的填充,该数据结构也是在CommCtrl.h头文件中定义的,原形为:typedef struct _TBBUTTON { int iBitmap;int idCommand;BYTE fsState;BYTE fsStyle;...
mfc中的CMFCToolBar类怎么实现工具栏上的按钮多行显示??急!!!_百 ...
回答:你可以将CToolBar创建在CReBar上面,你要多行显示,就创建多个CToolBar与CReBar上。 CRebar类似于toolbar,但其比toolbar更好用,可以防止按钮,下拉框和toolbar.
在MFC中工具栏如何加载上去的
建立多文档工程,在,CMainFrame::OnCreate函数中有如何创建工具栏的代码:代码如下:if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | RS_SIZE_DYNAMIC) ||!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)){ TRA...
MFC工具栏位置问题
或者用CFrameWnd::DockControlBar DockControlBar(&m_wndToolBar,AFX_IDW_DOCKBAR_BOTTOM);void DockControlBar( CControlBar* pBar, UINT nDockBarID = 0, LPCRECT lpRect = NULL);至于EnableDocking是 "将要" 停靠在哪,或者说允许停靠在哪 如果要使工具条浮动,调用CFrameWnd::FloatControl...
mfc单文档工具栏最大化-还原-最大化后会移位,怎么防止它移位啊_百度...
如果你没有记录各个工具条在ReBar上面的位置,那么每次重开程序都会重新初始化位置的,只是对窗口放大缩小固化位置没有意义。如果你关注一下其它微软程序(VC\/WORD),就会发现它关闭程序会记录位置,但并不禁止窗口变化后的自动调节,因为toolbar都有停靠属性,也就是它默认都会在窗口变化后找到一个“合理”...
怎样限制bcgpdockingcontrolbar窗口大小
修改应用程序窗口的大小和标题,有两种方式:第一 在创建窗口之前修改,第二 在创建窗口之后修改 首先利用MFC向导建立一个单文档的工程 第一种:在创建窗口之前修改:BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CFrameWnd::PreCreateWindow(cs) )return FALSE;\/\/ TODO: Modify the ...