我正在编写带有工具栏的MFC Document-View应用程序。我想在大型机windoiw的右上角添加一个工具栏。目前我使用下面的代码来设置工具栏
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_BORDER_RIGHT
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
上面的代码将在主机的左上角创建收费栏。我想把它从左角移到右角。我希望工具栏位于右上角。
MFC中有选项可在右侧,左侧,顶部和底部设置工具栏。但是没有选择将它设置在右上角
提前致谢!
答案 0 :(得分:1)
您可以在现有工具栏的左侧创建另一个工具栏,并将其留空。将其大小调整为剩余的空间。
很抱歉,但是因为我使用工具栏提供任何详细信息已经太久了。
答案 1 :(得分:0)
据我所知,唯一的方法是在中间添加虚拟按钮并将按钮移到最后。
LPTBBUTTON newbutton=NULL;
newbutton=(LPTBBUTTON)calloc(20,sizeof(TBBUTTON));
int i=0;
for(i=0;i<20;i++)
{
newbutton[i].iBitmap=-1;// for dummy button
newbutton[i].idCommand=1222;
newbutton[i].fsState=TBSTATE_ENABLED;
newbutton[i].fsStyle=TBSTYLE_BUTTON; //TBSTYLE_SEP;
newbutton[i].iString=-1;
}
m_wndToolBar.GetToolBarCtrl().AddButtons(20,newbutton) // this will add 20 new buttons
m_wndToolBar.GetToolBarCtrl().MoveButton(1,20);// This will move button from left to right
但此模型中唯一的问题是调整按钮以处理最大化选项。需要处理最大化按钮按下并将按钮增益向右移动。
如果有任何选择,请告诉我。感谢