中关村在线

首页 排行 新品 问答 下载 论坛 手机 笔记本 数码相机 主板 显卡 平板电脑 更多

MFC基于对话框程序添加工具栏(TOOLBAR)的問題

举报
讨论回答 (3)
162133227
569461093
下列函数为添加工具栏的代码:
BOOL CTestDlg::CreatToolBar( void )
{
// 创建工具栏并绑定资源
if (!m_toolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_toolBar.LoadToolBar(IDR_TOOLBAR))
{
TRACE0("Failed to Create Dialog Toolbar");
EndDialog(IDCANCEL);
return FALSE;
}
// 2 - 得出控件条大小.
CRect rcClientStart;
CRect rcClientNow;
GetClientRect(rcClientStart);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,
0, reposQuery, rcClientNow);
// 3 放置控件条位置
CPoint ptOffset(rcClientNow.left - rcClientStart.left,
rcClientNow.top - rcClientStart.top);
CRect rcChild;
CWnd* pwndChild = GetWindow(GW_CHILD);
while (pwndChild)
{
pwndChild->GetWindowRect(rcChild);
ScreenToClient(rcChild);
rcChild.OffsetRect(ptOffset);
pwndChild->MoveWindow(rcChild, FALSE);
pwndChild = pwndChild->GetNextWindow();
}
// 4 - 调整对话框尺寸
CRect rcWindow;
GetWindowRect(rcWindow);
rcWindow.right += rcClientStart.Width() - rcClientNow.Width();
rcWindow.bottom += rcClientStart.Height() - rcClientNow.Height();
MoveWindow(rcWindow, FALSE);
//m_webRect = rcWindow;

// 5 - 控件条定位
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
//GetClientRect( &m_webRect );
m_webRect.left = rcWindow.left;
m_webRect.bottom = rcWindow.bottom;
m_webRect.right = rcWindow.right;
m_webRect.top = rcChild.top;

// 6 - 对框居中
CenterWindow();
return TRUE;
}
头文件中添加:
CToolBar m_toolBar;
在资源中自定义工具栏资源:IDR_TOOLBAR(该名字可自定义,主要与程序中的匹配)
在OnInitDialog()
中调用CreatToolBar()即能实现添加工具栏
l7251526
精品应用推荐
PDF Reader手机版 PDF Reader手机版 航班管家 航班管家 录屏大师 录屏大师 手机硬件检测 手机硬件检测
相关问题

Office2010激活成功后,又显示未激活,用Toolkit激活不成功,请高手瞧瞧,谢谢!

8.5万 浏览 5 回答

exiftool怎么用

54.7万 浏览 5 回答

sp flash tool 报错显示 BROM ERROR ?? (8)

306 浏览 5 回答

ssd未对齐,用alignment tool对齐失败

4.7万 浏览 5 回答

Linux VMware Tools部分不好用的问题!解决再加50分或一百分!!

134 浏览 5 回答

相关产品
扩展阅读

真我Neo7全面评测:质价比版本T0非它莫属

评论 18

真我Neo7全面评测:质价比版本T0非它莫属

6个问题,帮你快速看懂vivo S20 Pro

评论 8

6个问题,帮你快速看懂vivo S20 Pro

错过双11还有双12 大疆值得入手的五款实惠产品推荐

评论 5

错过双11还有双12 大疆值得入手的五款实惠产品推荐

搭载OriginOS 5的vivo S20:AI加持,流畅好用

评论 3

搭载OriginOS 5的vivo S20:AI加持,流畅好用

独家揭秘!2024年最火的10款新能源车,速来围观

评论 8

独家揭秘!2024年最火的10款新能源车,速来围观
热门问题

字节跳动旗下12款产品

6811 浏览 5 回答

字节跳动旗下12款产品

免费韩国漫画在线观看的地址有么?

8053 浏览 5 回答

免费韩国漫画在线观看的地址有么?

256gSSD是否够用?打算买个笔记本,办公为主,查阅文献等。不玩大型游戏,至多玩一些棋牌类游戏和影音娱乐。手里有2T移动硬盘,但也想在笔记本上存少量的电影。平时玩单反,处理图片比较多。

2.3万 浏览 5 回答

256gSSD是否够用?打算买个笔记本,办公为主,查阅文献等。不玩大型游戏,至多玩一些棋牌类游戏和影音娱乐。手里有2T移动硬盘,但也想在笔记本上存少量的电影。平时玩单反,处理图片比较多。

求推荐一款笔记本。工科研究生用,便于随身携带。平时做科研,处理数据,查阅文献。不玩网游和单机,至多玩棋牌游戏和影音。喜欢摄影,需要修图。附加:纠结要不要带数字键盘区。预算最多8000。尽量便宜些。

1.2万 浏览 6 回答

求推荐一款笔记本。工科研究生用,便于随身携带。平时做科研,处理数据,查阅文献。不玩网游和单机,至多玩棋牌游戏和影音。喜欢摄影,需要修图。附加:纠结要不要带数字键盘区。预算最多8000。尽量便宜些。

肿么找回QQ浏览器历史记录

7302 浏览 6 回答

肿么找回QQ浏览器历史记录

阅兵仪式上穿红色军装的女兵是什么兵?

4001 浏览 5 回答

阅兵仪式上穿红色军装的女兵是什么兵?

有一样东西,比雪还白,比黑板还黑,男的一天用三次,女的一辈子用一次,是什么?

6434 浏览 6 回答

有一样东西,比雪还白,比黑板还黑,男的一天用三次,女的一辈子用一次,是什么?

手机在哪里登录192.168.1.1设定页面?

9451 浏览 7 回答

手机在哪里登录192.168.1.1设定页面?

艺术玻璃门打印机要价钱一台啊?哪家的比较好一点。

251 浏览 6 回答

艺术玻璃门打印机要价钱一台啊?哪家的比较好一点。

海尔售后服务24小时服务热线

2005 浏览 6 回答

海尔售后服务24小时服务热线
最新问答

WPS软件中excel设定日期到期提醒怎么操作?

1461 浏览 7 回答

WPS软件中excel设定日期到期提醒怎么操作?

雪佛兰开拓者常见问题多吗?

7625 浏览 31 回答

雪佛兰开拓者常见问题多吗?

不打开word文档状况下可以搜索文档内容关键字么?

8352 浏览 4 回答

不打开word文档状况下可以搜索文档内容关键字么?

vivox30手机上的观点反馈从哪看

3913 浏览 4 回答

vivox30手机上的观点反馈从哪看

苹果6自动更新系统关了肿么打开

5266 浏览 4 回答

苹果6自动更新系统关了肿么打开
举报
举报成功

经过核实后将会做出处理,感谢您为社区和谐做出贡献。

请选择删除原因
删除成功
确定推荐该回答?
推荐成功

更多频道

频道导航
辅助工具