贴了三贴都没有解决的工具栏问题,请各位高手指点

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

CreateToolbarEx(hwnd,WS_CHILD|WS_VISIBLE|CCS_NODIVIDER|CCS_NOMOVEY,IDR_TOOL,4,hinstance,IDR_TOOL,tbButton,13,16,15,16,15,sizeof(TBBUTTON));

hwnd:是客户区句柄,我想问题就出在这个参数上,不过试图用 GetParent(hwnd)获得整个窗口句柄却没有成功,请问有没有一个api函数可以直接得到包括边框在内的整个窗口句柄,这是不是解决这个问题的一个方法呢?
...全文
63 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjsch 2008-10-11
  • 打赏
  • 举报
回复
加上WS_THICKFRAME之后效果有了一些改变,不过工具栏和边框看起来还是不在一个平面上,我想要得效果是和平时所见到的窗口那样,菜单栏和工具栏在同一平面上,看起来比客户区突出一些.请指教,谢谢.
Zark 2008-10-10
  • 打赏
  • 举报
回复
风格上加个WS_THICKFRAME试试,你的TOOLBAR的位置是正确的,不存在把"工具栏放到边框上"的问题,menu和toolbar都在客户区,只不过加这两位扣用户区的绝坐标变了,应该不影响你的相对坐标.
tjsch 2008-10-10
  • 打赏
  • 举报
回复
hwnd就是CreateWindowEx()返回的句柄虽然是窗口句柄,不过对他的操作坐标都是相对于客户区的.程序运行之后就像下图的样子,我的意思是能不能将工具栏放到边框上

星羽 2008-10-10
  • 打赏
  • 举报
回复
看看你的代码
星羽 2008-10-10
  • 打赏
  • 举报
回复
hwnd:是客户区句柄,
??

客户区只是窗口的一部分,何来句柄?

65,211

社区成员

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

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