关于工具栏

tjsch 2008-10-12 08:40:17
win32 api c 中用CreateToolbarEx()做了一个工具栏,其他都没有问题,可工具栏总是出现在客户区的顶端盖住了客户区的一部分而且是与客户区是一样的,与客户区在一个平面上,没有平时所见到的立体边框的感觉,该如何做出像平时所见到的程序那样将工具栏放到菜单下面的边框上呢?请各位高手指点,谢谢!

CreateToolbarEx(hwnd,WS_CHILD|WS_VISIBLE|CCS_NODIVIDER|WS_THICKFRAME|CCS_NOMOVEY,IDR_TOOL,4,hinstance,IDR_TOOL,tbButton,13,16,15,16,15,sizeof(TBBUTTON));
不知道上面的用法是不是有问题,不过作出来的效果似乎不是预想的,一位高手告诉我加入WS_THICKFRAME属性,情况得到了一些改观,工具栏有了一些立体的感觉,不过看上去还是与平时我们所见到的窗口不太一样,工具栏似乎与边框还是不在同一平面上,请各位高手指点到底问题出在那里,怎样才能作出平时所见到的那样与边框在同一平面上的工具栏
http://w.886.cn/8I8f/157318997/157318997_21677.jpg
...全文
144 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjsch 2008-10-12
  • 打赏
  • 举报
回复
每人帮?
tjsch 2008-10-12
  • 打赏
  • 举报
回复
顶一下,希望大家多帮忙!
tjsch 2008-10-12
  • 打赏
  • 举报
回复
谢谢!希望大家多帮忙,这个问题我已经发了好几贴了都没有解决.
chlaws 2008-10-12
  • 打赏
  • 举报
回复
api啊,不太熟悉,你google看看吧
或者试试这
CWnd* AfxGetMainWnd( );
tjsch 2008-10-12
  • 打赏
  • 举报
回复
不过我用的是api并没有用mfc创建程序,现在的问题就是如何将工具栏与客户区分开,不知道有没有api可以直接得到包含边框的窗口句柄.
chlaws 2008-10-12
  • 打赏
  • 举报
回复

//创建 放在CMainFrame 的OnCreate 函数中,大致的代码如下,记得不是很清楚了。
CToolBar m_newToolBar;
if (!m_newToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_RIGHT
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_newToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_newToolBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_newToolBar);
tjsch 2008-10-12
  • 打赏
  • 举报
回复
能说详细些吗,谢谢!
chlaws 2008-10-12
  • 打赏
  • 举报
回复
该在函数 该放到Framewnd中吧,否则是view中 那他们之间区域大小就不一样了
tjsch 2008-10-12
  • 打赏
  • 举报
回复
tjsch 2008-10-12
  • 打赏
  • 举报
回复

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧