VC界面编程入门(二)
2013-07-19 17:18
316 查看
上一节,我们用VC已经搭建了程序的框架,下面介绍一下窗口常用的函数和部分设置以及工具条的创建。
1. 如何退出程序。
DestroyWindow():在子窗口退出会报故障并退出程序。
EndDialog(IDOK)/EndDialog(IDCANCEL):内置的响应对话框的确定/取消的函数。
exit(0):故障退出函数。
2. 窗口的部分设置。
在OnInitDialog函数添加工具条初始化代码。主窗口已启用此函数,子窗口需要类模板(ctrl+w或View →ClassWizard →CxxDlg的消息里面选择WM_INITDIALOG,再添加函数)
设置窗口顶部文本SetWindowText。
窗口大小、风格及位置SetWindowPos。
窗口图标AfxGetApp()->LoadIcon。
3. 工具条。
(1)Insert→Resource(或Ctrl+R)
选择toolbar
点击new按钮
添加按钮,逐个修改按钮图案,设置按钮ID。
(2)初始化工具条
在对话框类的头文件定义一个工具条CToolBar m_tool;//假定工具条ID为IDR_TOOLBAR1
在初始化函数中
m_tool.Create(this);//创建工具条
m_tool.LoadToolBar(IDR_TOOLBAR1);//载入资源
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);//显示工具条
(3)工具条按钮的响应
工具条按钮的ID
在资源窗口双击工具条按钮,弹出窗口显示了按钮的ID,可以修改成有实际意义的名称,以免混淆。
工具条按钮的响应函数
进入类模板(ctrl+w或View →ClassWizard),弹出窗口提示为工具条建立新的类。
(4)建立工具条的类(不建不影响使用)
(5)择工具条按钮消息
(6)工具条按钮的响应函数
选择消息后,选择增加函数后再选择编辑函数代码,如某工具条按钮ID_BUTTON_EXIT用于退出窗口。
void CMy1Dlg::OnButtonExit()
{
// TODO: Add your command handler code here
EndDialog(IDOK);
}
(7)常规工具条的缺陷
使用VC自带的资源模板建立的常规工具条只支持16色(如Word的工具条),即使载入了真彩图标也会转为16色显示。
4. 真彩工具条的使用
将工具条所需的真彩图标加入VC资源
使用ImageList接收真彩图标
创建工具条并载入资源窗口生成的工具条
将ImageList设置给工具条,替代原有图标
(1)真彩工具条的实现a
加入成员变量,在对话框的头文件直接加入,或者在类窗口右击窗口类添加
CToolBar m_ToolBar;
CImageList m_ImageList;
在OnInitDialog函数初始化工具条
m_ToolBar.Create(this);
m_ToolBar.LoadToolBar(IDR_TOOLBAR1);
(2)初始化ImageList
//创建真彩图集,ILC_COLOR32:32位色
m_ImageList.Create(32,32,ILC_COLOR32,6,4);
//载入图标
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
……
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON6));
//设置为工具条图集
m_ToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);
(3)真彩工具条的实现b
设置工具条按钮文本
m_ToolBar.SetButtonText(0,"系统图");
设置工具条按钮大小
CSize TextButtonSize,ImageSize;
ImageSize.cx=32;
ImageSize.cy=32;
m_ToolBar.SetSizes(TextButtonSize,ImageSize);
显示工具条
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
(4)载入不同的工具条
由多个对话框构成的界面中,工具条按钮在每个对话框都是可见的。因为每个对话框都可能载入这个工具条。
同一个对话框可能需要在不同的条件下分别载入不同的工具条。
(5)如何替换工具条
定义
CToolBar m_ToolBar;
CToolBar m_ToolBar2;
备用工具条初始化
m_ToolBar2.Create(this);
m_ToolBar2.LoadToolBar(IDR_TOOLBAR_WAVE);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
m_ToolBar2.ShowWindow(SW_HIDE);//隐藏备用工具条
替换工具条
m_ToolBar.ShowWindow(SW_HIDE);
m_ToolBar2.ShowWindow(SW_SHOW);
隐藏工具条按钮
m_ToolBar.GetToolBarCtrl().HideButton(ID_BUTTON_TEST,bShow);
//bShow=FALSE, 隐藏按钮;bShow=TRUE,显示按钮
好了,工具条我们算是入门咯!!!
1. 如何退出程序。
DestroyWindow():在子窗口退出会报故障并退出程序。
EndDialog(IDOK)/EndDialog(IDCANCEL):内置的响应对话框的确定/取消的函数。
exit(0):故障退出函数。
2. 窗口的部分设置。
在OnInitDialog函数添加工具条初始化代码。主窗口已启用此函数,子窗口需要类模板(ctrl+w或View →ClassWizard →CxxDlg的消息里面选择WM_INITDIALOG,再添加函数)
设置窗口顶部文本SetWindowText。
窗口大小、风格及位置SetWindowPos。
窗口图标AfxGetApp()->LoadIcon。
3. 工具条。
(1)Insert→Resource(或Ctrl+R)
选择toolbar
点击new按钮
添加按钮,逐个修改按钮图案,设置按钮ID。
(2)初始化工具条
在对话框类的头文件定义一个工具条CToolBar m_tool;//假定工具条ID为IDR_TOOLBAR1
在初始化函数中
m_tool.Create(this);//创建工具条
m_tool.LoadToolBar(IDR_TOOLBAR1);//载入资源
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);//显示工具条
(3)工具条按钮的响应
工具条按钮的ID
在资源窗口双击工具条按钮,弹出窗口显示了按钮的ID,可以修改成有实际意义的名称,以免混淆。
工具条按钮的响应函数
进入类模板(ctrl+w或View →ClassWizard),弹出窗口提示为工具条建立新的类。
(4)建立工具条的类(不建不影响使用)
(5)择工具条按钮消息
(6)工具条按钮的响应函数
选择消息后,选择增加函数后再选择编辑函数代码,如某工具条按钮ID_BUTTON_EXIT用于退出窗口。
void CMy1Dlg::OnButtonExit()
{
// TODO: Add your command handler code here
EndDialog(IDOK);
}
(7)常规工具条的缺陷
使用VC自带的资源模板建立的常规工具条只支持16色(如Word的工具条),即使载入了真彩图标也会转为16色显示。
4. 真彩工具条的使用
将工具条所需的真彩图标加入VC资源
使用ImageList接收真彩图标
创建工具条并载入资源窗口生成的工具条
将ImageList设置给工具条,替代原有图标
(1)真彩工具条的实现a
加入成员变量,在对话框的头文件直接加入,或者在类窗口右击窗口类添加
CToolBar m_ToolBar;
CImageList m_ImageList;
在OnInitDialog函数初始化工具条
m_ToolBar.Create(this);
m_ToolBar.LoadToolBar(IDR_TOOLBAR1);
(2)初始化ImageList
//创建真彩图集,ILC_COLOR32:32位色
m_ImageList.Create(32,32,ILC_COLOR32,6,4);
//载入图标
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
……
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON6));
//设置为工具条图集
m_ToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);
(3)真彩工具条的实现b
设置工具条按钮文本
m_ToolBar.SetButtonText(0,"系统图");
设置工具条按钮大小
CSize TextButtonSize,ImageSize;
ImageSize.cx=32;
ImageSize.cy=32;
m_ToolBar.SetSizes(TextButtonSize,ImageSize);
显示工具条
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
(4)载入不同的工具条
由多个对话框构成的界面中,工具条按钮在每个对话框都是可见的。因为每个对话框都可能载入这个工具条。
同一个对话框可能需要在不同的条件下分别载入不同的工具条。
(5)如何替换工具条
定义
CToolBar m_ToolBar;
CToolBar m_ToolBar2;
备用工具条初始化
m_ToolBar2.Create(this);
m_ToolBar2.LoadToolBar(IDR_TOOLBAR_WAVE);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
m_ToolBar2.ShowWindow(SW_HIDE);//隐藏备用工具条
替换工具条
m_ToolBar.ShowWindow(SW_HIDE);
m_ToolBar2.ShowWindow(SW_SHOW);
隐藏工具条按钮
m_ToolBar.GetToolBarCtrl().HideButton(ID_BUTTON_TEST,bShow);
//bShow=FALSE, 隐藏按钮;bShow=TRUE,显示按钮
好了,工具条我们算是入门咯!!!
相关文章推荐
- VC界面编程入门(一)
- 如何消除vc编程界面屏幕闪烁的方法
- VC++界面编程之--使用分层窗口实现界面皮肤
- VC编程实现IE风格的界面
- (转载)VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)
- VS2010/MFC编程入门之一(Ribbon界面开发:创建Ribbon样式的应用程序框架)
- 入门基础-VC网络编程入门(2)
- VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)
- VC下的ADO编程入门(2-1) [选择自 callzjy 的 Blog]
- Android 入门到精通 (界面编程#2-Menu)
- Android 入门到精通 (界面编程#3-ListView)
- VS2010/MFC编程入门之二(Ribbon界面开发:为Ribbon Bar添加控件)
- [置顶] VC++界面编程之--自定义CEdit(编辑框)皮肤
- VC++界面编程(转)
- VC网络编程-Winsock开发网络通信程序的经典入门
- VC下的ADO编程入门(1)
- QT Creater入门编程:学习QT编程后,你会发现界面就像小孩子拼积木那样简单.
- VC界面编程skill tips-CListCtrl
- 初学者入门:一个COM/ATL简单项目 - VC编程
- VS2010/MFC编程入门之三(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)