Windows 应用程序的控制栏包括工具栏和状态栏等。在工具栏中可以添加按钮和控件,实现快捷操作。在状态栏中可以显示一些提示信息。MFC 中,控制栏中的工具栏和状态栏分别通过 CToolBar 类和 CstatusBar 类实现,它们的父类都为 CContorlBar 类。
33 创建工具栏
创建工具栏,首先创建一个工具栏资源,然后构造一个 CToolBar 类对象,接下来调用 CToolBar::CreateEx 函数创建工具栏窗口,最后调用 CToolBar::LoadToolBar 函数加载工具栏资源。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
34 设置工具栏标题
设置工具栏的标题可以调用CWnd::SetWindowText函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
35 停靠工具栏
停靠工具栏,首先调用CControlBar::EnableDocking函数和CFrameWnd::EnableDocking函数,然后调用CFrameWnd::DockControlBar函数。
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
36 设置工具栏位图
设置工具栏的位图可以调用CToolBar::SetBitmap函数。
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 29 |
|
37 为工具栏按钮添加文本标签
为工具栏按钮添加文本标签可以调用CToolBar::SetButtonText函数。
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 29 30 31 32 33 34 35 36 37 38 |
|
38 为工具栏按钮添加下拉箭头
为工具栏按钮添加下拉箭头,首先调用CToolBarCtrl::SetExtendedStyle函数,设置工具栏的TBSTYLE_EX_DRAWDDARROWS风格;然后调用CToolBar::SetButtonStyle函数,在每一个添加下拉箭头的按钮上设置TBSTYLE_DROPDOWN风格。
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
39 为工具栏按钮设置热点图像
默认情况下,AppWizard使用工具栏资源来设置按钮的图像。工具栏资源包含一个复合的位图,该位图在调用CToolbar::LoadToolBar函数时将被转换成一个图像列表。
为工具栏按钮设置热点图像,应该首先调用CImageList::Create函数创建一个新的图像列表;然后调用CToolBarCtrl::SetHotImageList函数,将该图像列表设置为工具栏的热点图像列表。
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 |
|
40 启用或禁用工具栏的工具提示
启用和禁用工具栏的工具提示,可以通过调用CControlBar::SetBarStyle函数,添加或删除CBRS_TOOLTIPS风格实现。
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 29 30 31 32 33 34 35 |
|
41 在工具栏中添加组合框
在工具栏中添加组合框,应该首先调用CToolBar::SetButtonInfo函数,为组合框创建一个空白区域(TBBS_SEPARATOR), 然后调用CToolBar::GetItemRect函数,获得空白区域的大小和位置,最后调用CComboBox::Create函数,在空白区域创建组合框。
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
|
42 创建状态栏
创建状态栏,首先构造一个CStatusBar类对象,然后调用CStatusBar::Create函数创建状态栏窗口,最后调用CStatusBar::SetIndicators函数设置状态栏指示器。
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 29 30 31 32 33 34 |
|
43 在状态栏中添加进度条
在状态栏中添加进度条,应该首先调用CProgressCtrl::Create函数,创建进度条,然后调用CStatusBar::GetItemRect函数,获得指示器大小和位置,最后调用CWnd::MoveWindow函数移动进度条窗口。
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
|
44 显示或隐藏工具栏和状态栏
显示或隐藏工具栏和状态栏,可以调用CFrameWnd::ShowControlBar函数。
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|
45 使用组合栏
首先调用 CReBar::Create 函数创建组合栏,然后调用 CReBar::AddBar 函数在组合栏中添加带区。
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|