我的编程乐园
积累,坚持!
---------我是一只IT小小鸟
首页
新随笔
联系
聚合
管理
随笔-145 评论-173 文章-70 trackbacks-0
工具栏和状态栏程序设计--------------如何制作浮动工具栏
浮动工具栏------即可以通过拖动使得工具栏停靠在界面的顶部,或者浮动在任何其他部位。从本质上来讲,浮动工具栏也就是一个工具栏,因此,可以利用相应的类来创建,即CToolBar类型的变量,也可以通过添加一个资源,然后设置关联。总之,需要利用相应的创建函数,来创建工具栏并显示。
以下是代码部分:
int
CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if
(CFrameWnd::OnCreate(lpCreateStruct)
==
-
1
)
return
-
1
;
if
(
!
m_wndToolBar.CreateEx(
this
, TBSTYLE_FLAT, WS_CHILD
|
WS_VISIBLE
|
CBRS_TOP
|
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
}
if
(
!
m_wndStatusBar.Create(
this
)
||
!
m_wndStatusBar.SetIndicators(indicators,
sizeof
(indicators)
/
sizeof
(UINT)))
{
TRACE0(
"
Failed to create status bar\n
"
);
return
-
1
;
//
fail to create
}
//
TODO: Delete these three lines if you don't want the toolbar to
//
be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(
&
m_wndToolBar);
if
(
!
m_newToolBar.CreateEx(
this
,TBSTYLE_FLAT,WS_CHILD
|
WS_VISIBLE
|
CBRS_TOP
|
CBRS_GRIPPER
|
CBRS_TOOLTIPS
|
CBRS_FLYBY
|
CBRS_SIZE_DYNAMIC)
||!
m_newToolBar.LoadToolBar(IDR_TOOLBAR1))
{
//
添加新的工具栏
TRACE0(
"
Failed to create toolbar!\n
"
);
return
-
1
;
}
m_newToolBar.EnableDocking(CBRS_ALIGN_ANY);
//
运行工具栏停靠在框架窗口中
DockControlBar(
&
m_newToolBar);
//
将工具栏停靠在框架窗口中
return
0
;
}
做出来之后,想到用来添加响应的代码,即使得新建的工具栏可以有响应函数,于是又添加了代码。
注意的是:1.资源文件中,每次编辑会生成一个按钮。
2.按钮对应ID,而ID对应消息。
3.将新建的ToolBar类作为View的子类下面的响应函数。
void
CTest17View::OnButton32772()
{
//
TODO: Add your command handler code here
MessageBox(
"
This is the message of first toolbar!
"
);
}
这样,点击就显示出来了信息了。
posted on 2010-02-17 16:20
deercoder
阅读(628)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
坚持记录,笔耕不辍,笔记是最好的学习方法!
<
2010年2月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(12)
给我留言
查看公开留言
查看私人留言
随笔分类
(87)
ACM(1)
Android(4)
C++(7)
CTeX和LateX(1)
Git(3)
Java(4)
MFC程序设计入门(8)
OpenCV(1)
Python(3)
Shell/Bash(1)
SQL(1)
Unix/Linux(23)
Vim(3)
大学公开课(3)
读书(4)
环境配置(1)
生活感悟/日记(18)
图像识别算法及原理(1)
随笔档案
(145)
2014年12月 (1)
2013年3月 (1)
2012年7月 (2)
2012年6月 (5)
2012年5月 (2)
2012年4月 (2)
2011年12月 (1)
2011年11月 (2)
2011年10月 (8)
2011年9月 (2)
2011年8月 (4)
2011年6月 (2)
2011年5月 (5)
2011年4月 (3)
2011年3月 (3)
2010年6月 (5)
2010年5月 (5)
2010年4月 (3)
2010年3月 (16)
2010年2月 (56)
2010年1月 (11)
2009年12月 (2)
2009年11月 (3)
2009年10月 (1)
文章分类
(70)
C/C++(14)
JAVA(6)
Linux/Unix(6)
MFC(5)
OpenCV / OpenGL(6)
编程体会和收获(3)
常见编译器错误解决办法(5)
深入理解计算机系统(2)
生活的体会和感悟(5)
实习/读研(1)
数据结构和算法分析(9)
杂谈(8)
文章档案
(70)
2011年11月 (1)
2011年10月 (1)
2010年3月 (8)
2010年2月 (2)
2010年1月 (3)
2009年12月 (21)
2009年11月 (26)
2009年10月 (5)
2009年9月 (3)
相册
computer picture
ACM与算法比赛
Google Code Jam
Top Coder
北大ACM
杭电ACM
LaTex和Tex学习
LaTex and Tex
Tex,LaTex,CTex学习
电子书下载
不错的电子书免注册下载
杂志下载(经济学人等)
联系方式
我的豆瓣主页
学习论坛
C++编程
VC知识库
超多C/C++资料和源码下载
科研小木虫
提问必答网站(牛人辈出啊!)
英语网站(长期学习)
New York Times
华尔街日报
记单词,捐大米
经济学英文网
普特网站
普特英语应用(有趣的学习)
译言网|译文库
中国日报
源码网站
codeproject
google代码搜索
programersheaven
sourceforge
程序员联合开发网
最新随笔
1. 此博客停止更新
2. Adboe Reader提示中文字体有问题
3. Python字符串换行处理
4. 如何转换^M行末符号
5. 斯坦福大学开放课程--编程范式(四)
搜索
积分与排名
积分 - 899059
排名 - 15
最新随笔
1. 此博客停止更新
2. Adboe Reader提示中文字体有问题
3. Python字符串换行处理
4. 如何转换^M行末符号
5. 斯坦福大学开放课程--编程范式(四)
最新评论
1. re: Git Stash用法[未登录]
@陈梓瀚(vczh)
人称轮带逛!!!
--q
2. re: Git Stash用法
@Loaden
这个B装的好
--doubi
3. re: Chrome神器Vimium快捷键学习记录
哦啦啦啦啦
--阿里河
4. re: Chrome神器Vimium快捷键学习记录
希望能添加更新后的功能翻译
--Vi.Ci
5. re: Chrome神器Vimium快捷键学习记录
@coolbit
谢谢,学会了
--xin
阅读排行榜
1. Git Stash用法(300425)
2. Chrome神器Vimium快捷键学习记录(67426)
3. GitHub使用简介(35318)
4. Ubuntu下硬盘的自动挂载(23711)
5. Ubuntu更新包管理器失败:Requires installation of untrusted packages问题解决(18436)
评论排行榜
1. 【欢迎各位留言讨论】C++中运算符New的一个疑问【新的问题!】【各位继续关注讨论啊!】(23)
2. Git Stash用法(21)
3. Chrome神器Vimium快捷键学习记录(19)
4. C++友元的一个问题-----------由派生类访问基类的私有成员(10)
5. OpenCV学习笔记(一)(7)