您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《面向对象程序设计》课程界面设计练习题目
1《面向对象程序设计》课程界面设计练习题目WindowsNT系统内建了若干个的常用控件,极大地方便了Windows下可视化程序的开发。对于初学者来说,能够熟练地使用这些控件,是学好C++面向对象编程的关键步骤。为了指引初学者或者检验学习效果,下面设计了五个练习题目,囊括了大部分的常用控件,以及程序界面开发中常常使用的技术。练习题目如下:一、播放器配置程序二、消息提示器三、流媒体管理器四、可定制背景的视图五、通讯簿2一、播放器配置程序内容:制作一个基于对话框的播放器配置程序,能够从配置文件(*.ini)中读取设置信息;能够将修改后的设置信息保存在配置文件中。界面如图1所示:图1播放器设置界面目的:掌握使用VS建立基于对话框的应用程序;熟悉标签(StaticText)、分组(GroupBox)、按钮(Button)、编辑框(EditControl)、组合框(ComboBox)、单选按钮(RadioButton)、复选框(CheckBox)、热键设置控件(HotKey)等常用控件的属性、事件;掌握配置文件(*.ini)的读写;学习MSDN文档的查阅等。要求:1、控件1(组合框):不可输入文字,只能从下拉列表中选取一项,列表中的内容为:简体中文、繁軆中文、English;2、控件2(复选框):默认勾选。3、控件3(热键设置控件):当控件2勾选时,控件才3可编辑;当控件2未123456789121314151610113勾选时,控件3灰掉(不可编辑);4、控件4~7(复选框):默认勾选控件4和控件5;5、控件8(编辑框):只能输入数字,范围1~60;6、控件9~11(一组单选按钮):默认选中控件9;7、控件12(按钮):当点击按钮时,在13中输出如图1所示的文字;8、控件13(编辑框):能够输入换行符,具有垂直滚动条,当文本框内容不能全部显示时,滚动条自动有效;9、控件14~16(按钮):按钮15初始不可用,当更改设置信息后才激活;接收回车提交命令;点击该按钮,将新的设置信息(控件12和13不触发配置信息改变)写回与程序同目录下,名称为config.ini配置文件中;点击按钮14时,如果设置信息有更改,将设置信息写入配置文件,并关闭对话框;若设置信息未发生改变,直接关闭对话框;点击16直接关闭对话框;10、配置文件读写要求:程序启动时若没有找到配置文件,能够按照默认设置初始化界面(按钮15激活),点击按钮14和15生成配置文件并写入设置信息,点击16则不生成配置文件;若找到配置文件,从文件中加载配置信息并初始化程序界面;11、对话框样式:对话框可以最小化,不能最大化,不可以改变大小;界面布局要工整;对话框初始时控件1取得焦点,按tab键焦点将按图中标注的序号逐一移动到下个控件上。提示:1、复选框勾选状态的获取:可以将复选框与一个BOOL变量关联,通过BOOL变量得知其勾选与否;也可以获取其控件状态(state)来得到是否被勾选;可以响应复选框的单击事件来处理复选框状态改变时的任务;2、单选按钮组的概念:点选按钮有组的概念,同一组内的单选按钮相互排斥,只能有一个被点选;一个单选按钮A若具有GROUP=true属性,则紧跟其后的GROUP=false属性的单选按钮同A为一组,可以为A关联一个int型变量,改变量反应了该组内那个按钮被点选;3、配置文件的读写:配置文件(*.ini)为文本文件,常用于保存配置信息;系统具有GetPrivateProfileString、WritePrivateProfileString等函数用于操作配置文件,具体可参见MSDN中相关介绍;4、使用Tab键移动焦点:需要控件具有Tabstop属性;焦点移动的顺序与界面控件的排放顺序有关,可以在界面编辑界面按Ctrl+D显示控件的序号,在序号上点击可以修改控件的顺序。4二、消息提示器内容:制作一个基于对话框的消息提示器,能够添加、删除消息,轮流展现消息。主界面如图2所示;点击“消息管理”,弹出消息管理界面,如图3所示;在消息管理界面点击“+”,弹出新建消息对话框,如图4所示。图2消息提示器目的:进一步了解对话框的设置,如模态和非模态、置顶等;学会界面布局管理;掌握界面逻辑控制;掌握列表(ListBox)控件的使用;掌握定时器的使用。要求:1、控件1-1(复选框):设置属性为按钮样式;点击一次,按钮凹下,文字变为“取消置顶”,对话框置顶(主界面失去焦点,获得焦点的其他程序界面仍不能遮盖住主界面),再次点击按钮,按钮弹出,文字恢复为“置顶”,主界面取消置顶;2、控件1-2、1-3(按钮):点击按钮1-2弹出消息管理界面(模态),主界面不可操作;点击按钮1-3,按钮1-2灰掉(不可操作),按钮1-3文字变为“停止提示”,1-5中开始显示消息;再次点击按钮1-3,按钮1-2激活,按钮1-3文字恢复为“开始提示”;点击1-4,若正在提示消息,停止提示,然后退出程序;3、控件1-5(编辑框):用于显示提示的消息,能够显示多行文字,具有水平、垂直滚动条,只读,无边框;未进行消息提示时,内容为空;4、控件2-1、2-2(列表):项为消息名称;列表2-1显示不进行提示的消息;列1-11-51-21-31-45表2-2显示要进行提示的消息;图3消息管理对话框图4新建消息对话框5、控件2-3(按钮):点击弹出新建消息对话框;6、新建消息:输入名称和消息内容,点击按钮3-3,检查消息名称是否不为空,3-13-23-33-42-12-22-32-42-92-102-112-122-132-52-642-72-86若为空给出修改提示,不为空则创建新的消息,消息列表增加一项;点击“取消”不创建新的消息;7、控件2-4(按钮):点击按钮,若消息列表未选中一项给出提示;已选中一项,将选中项删除;8、控件2-5(按钮):点击按钮,若消息列表未选中一项给出提示;已选中一项,将其移动到提示列表;9、控件2-6(按钮):点击按钮,若提示列表未选中一项给出提示;已选中一项,将其移动到消息列表;10、控件2-7(按钮):点击按钮,将消息列表中的项全部移到提示列表;11、控件2-8(按钮):点击按钮,将提示列表中所有项移到消息列表;12、控件2-9(按钮):点击按钮,若提示列表未选中一项给出提示;已选中一项,将选中项上移一次(已位于最顶端的项不再移动);13、控件2-10(按钮):点击按钮,若提示列表未选中一项给出提示;已选中一项,将选中项下移一次(已位于最底端项不再移动);14、控件2-11(编辑框):用于设定轮流提示消息的时间隔,仅可输入数字,数值范围500~30000;15、界面逻辑:当提示列表中没有要提示的消息时,1-3灰掉;当提示列表中存在消息时,1-3激活;点击1-3,启动消息提示,按设定的时间间隔,依照提示列表中消息的顺序逐一在1-5中显示提示列表中的消息;16、对话框样式:标题栏上动态显示当前时间;主界面可用鼠标动态调整大小;当主界面大小改变时,其中按钮相对窗口边缘的位置不变,只有1-5大小发生变化。提示:1、定时器的使用:启动定时器采用Cwnd::SetTimer函数,程序退出前应该调用CWnd::KillTimer停止之前启动的定时器;函数的具体使用方法参考MSDN文档;2、对话框的置顶,界面控件位置、大小修改:可通过Cwnd::SetWindowsPos函数实现;函数的具体使用方法参考MSDN文档;7三、流媒体管理器内容:制作一个基于单文档框架的流媒体管理器(视图类的基类为CFormView),能够添加、删除流媒体,查看流媒体属性等,主界面如图5所示,菜单结构如图6所示,添加流媒体对话框如图7所示:图5流媒体管理器图6菜单结构图7添加流媒体界面目的:熟悉单文档程序框架;学会菜单、工具栏的编辑以及消息响应;掌握表格控件(ListControl)、IP地址控件(IPAddress)、选项卡控件(TabControl)的使1-1菜单结构如图61-21-32-12-22-32-42-52-68用;了解右击快捷菜单的使用等。要求:1、程序框架:单文档程序框架,视图类的基类为CFormView;主框架可以用鼠标调节大小;具备菜单栏1-1、工具栏1-2,不要状态栏;将默认主界面标题栏中的“–无标题”去掉;按照图5图6修改默认菜单和工具栏,菜单“视图”和“帮助”项不变,工具栏按钮依次为“添加流媒体”、“删除流媒体”、“属性”;2、控件1-3(表格):具有如图5示的报表样式及表头;填充整个View区域,改变程序窗口大小,1-3也调节大小;右击1-3中一项数据弹出如图5所示的快捷菜单,内容同主菜单“流媒体”项;3、菜单“流媒体”-“添加流媒体”:点击弹出添加流媒体对话框;4、控件2-1(编辑框):限最大字符数16;5、控件2-2(组合框):默认列表数据为“RTSP”、“MMS”、“HTTP”;用户也可以输入文字;6、控件2-3(IP地址控件);7、控件2-4(编辑框):可输入多行文字;限制最大字符数128;8、控件2-5、2-6(按钮):输入完设置信息,点击按钮2-5添加一个流媒体,同时1-3对应添加一项;若设置信息除备注外有空,将不添加流媒体,给出提示;点击按钮2-6放弃添加新的流媒体;9、界面逻辑:若没有1-3中未选中一项,菜单“流媒体”中“删除流媒体”、“属性”不可用,工具栏对应按钮不可用;10、界面逻辑:若1-3中选中一项,点击菜单“流媒体”-“删除流媒体”,弹出删除确认对话框,确认后删除选中的流媒体,点击工具栏“删除流媒体”按钮具有同样响应;11、界面逻辑:若1-3中选中一项,点击菜单“流媒体”-“属性”或工具栏按钮“属性”,弹出下图8所示的“流媒体属性”对话框;对话框具有两个页面,“常规”页面显示选中流媒体的信息(均不可编辑),“网络”页面显示网络状态(为简单起见,固定为图示内容)。点击“确定”关闭属性对话框。9图8流媒体属性-常规页面图9流媒体属性-网络页面提示:1、去掉标题栏的“–无标题”:可以在函数CMainFrame::PreCreateWindow中去掉框架样式FWS_ADDTOTITLE;2、IP地址控件内容的获取:可通过关联字符串的方式获取输入的IP地址;可通过关联DWORD整数的方式获取输入的IP地址;3、选项卡的使用:图8和图9共使用了三个对话框;通过在TabControl控件的区域内创建嵌入式的子对话框实现图示效果,子对话框具有Border=None、Style=Child的样式,然后通过CDialog::Creat函数创建,再调用ShowWindow显示出来;在TabControl的切换事件中,根据选中的要显示页面索引,将对10应的子对话框显示出来,将其它对话框隐藏起来;4、选项卡的替代者:属性页(CPropertySheet、CPropertyPage)也能实现选项卡的效果,可以在网络上查找使用方法;11四、可定制背景的视图内容:制作单文档程序,如图10所示的效果,能够根据设置的“画面属性”在视图中绘制背景:图10主界面及菜单结构图11画面属性设置界面目的:掌握滑块控件(SliderControl)、提示条(ToolTipControl)的使用;了解自定义控件的方法;掌握文件浏览对话框(CFileDialog)、颜色选择对话框(CColorDialog)等常用对话框的使用;了解使用GDI绘制简单图形图像的方法等。1-12-12-22-32-42-52-62-72-812要求:1、主界面样式:主窗口采用视图基类继承自CView的单文档程序框架;可用鼠标调节窗口大小,同时视图内容也改变大小并保持填充整个区域;标题文字顶部居中;在默认菜单中添加“设置”-“画面设置”;工具栏只有一个按钮“画面设置”;点击“画面设置”,弹出画面属性对话框;状态栏中显示鼠标相对于视图左上角的位置;2、控件2-1(编辑框):最大字符数限制为1-16;内容默认为“画面1”;3、控件2-2(滑块):调节范围(1-30),2-3为编辑框,只能输入数字,范围(1-30);调节Slider,编辑框
本文标题:《面向对象程序设计》课程界面设计练习题目
链接地址:https://www.777doc.com/doc-2819634 .html