四、菜单及对话框习题

四、菜单及对话框习题
四、菜单及对话框习题

四、菜单及对话框习题

一、选择题

1. 多窗体程序是由多个窗体组成。在缺省情况下,VB在应用程序执行时,总是把()

指定为启动窗体。

(A)不包含任何控件的窗体(B)设计时的第一个窗体

(C)包含控件最多的窗体(D)命名为Form1的窗体

2. 刚建立一个新的标准工程后,不在工具箱中出现的控件是()。

(A)单选按钮(B)图片框(C)通用对话框(D)文本框

3. 在用菜单编辑器设计菜单时,必须输入的项是()。

(A)快捷键(B)标题(C)索引(D)名称

4. 在下列关于菜单的说法中,错误的是()。

(A)每个菜单项都是一个控件,与其它控件一样,也有自己的属性和事件

(B)除了Click事件之外,菜单项还能响应其他如DblClick等事件

(C)菜单项的快捷键不能任意设置

(D)在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择

5. 在下列关于通用对话框的叙述中,错误的是()。

(A)CommonDialog1.ShowFont显示字体对话框

(B)在文件打开或另存为对话框中,用户选择的文件名可以经FileTitle属性返回

(C)在文件打开或另存为对话框中,用户选择的文件名及路径可以经FileName属性返回

(D)通用对话框可以用来制作和显示帮助对话框

6. 以下正确的语句是()。

(A)CommonDialog1.Filter=All Files|*.*|Pictures(*.Bmp)|*.Bmp

(B)CommonDialog1.Filter=”All Files”|”*.*”|”Pictures(*.Bmp)”|”*.Bmp

(C)CommonDialog1.Filter=”All Files|*.*|Pictures(*.Bmp)|*.Bmp”

(D)CommonDialog1.Filter={All Files|*.*|Pictures(*.Bmp)|*.Bmp}

7. 在窗体从内存卸载的过程中会发生许多事件,这些事件发生的顺序是()(其

中Terminate事件在窗体及对象的所有引用都被从内存删除后发生)。

(A)Terminate,QueryUnload,Unload (B)QueryUnload,Unload,Terminate (C)QueryUnload,Terminate,Unload (D)Unload,QueryUnload,Terminate 8. 在下面关于窗体事件的叙述中,错误的是()。

(A)在窗体的整个生命周期中,Initialize事件只触发一次

(B)在用Show显示窗体时,不一定发生Load事件

(C)每当窗体需要重画时,肯定会触发Paint事件

(D)Resize事件是在窗体的大小有所改变时被触发

9. 关于多重窗体的叙述中,正确的是()。

(A)作为启动对象的Main子过程只能放在窗体模块内

(B)如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体

(C)没有启动窗体,程序不能执行

(D)以上都不对

10. 如果Form1是启动窗体,并且Form1的Load事件过程中有Form2.show,则程序启动

后()。

(A)发生一个运行错误(B)发生一个编译错误

(C)在所有的初始化代码运行后Form1是活动窗体

(D)在所有的初始化代码运行后Form2是活动窗体

11. 当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将()。

(A)发生DeActivate事件(B)发生DeActivate和LostFocus事件

(C)发生LostFocus事件(D)DeActivate和LostFocus事件都不发生12. 下列不能打开菜单编辑器的操作是()。

(A)按Ctrl+E键(B)单击工具栏中的“菜单编辑器”按钮

(C)按Shift+Alt+M键(D)执行“工具”菜单中的“菜单编辑器”命令13. 假定有一个菜单项,名为Menu1,为了在运行时使该菜单项变灰(失效),应使用的语

句为()。

(A)Menu1.Enabled=False (B)Menu1.Enabled=True

(C)Menu1.Visible =False (D)Menu1.Visible=True

14. 为了使一个窗体从屏幕上消失但仍在内存中,所使用的方法或语句为()。

(A)Show (B)Hide (C)Load (D)Unload

15. 下列操作不能向工程添加窗体的是()。

(A)执行“工程”菜单中的“添加窗体”命令

(B)单击工具栏上的“添加窗体”按钮

(C)右击窗体,在弹出的菜单中选择“添加窗体”命令

(D)右击工程资源管理器,在弹出的菜单中选择“添加”命令,然后在下一级菜单中选择“添加窗体”命令

16. 当一个工程含有多个窗体时,其中的启动窗体是()。

(A)启动VB时建立的窗体(B)第一个添加的窗体

(C)最后一个添加的窗体(D)在“工程属性”对话框中指定的窗体17. 为菜单命令Run设计一个访问键Alt+u,正确的方法是在其标题中输入()。

(A)&Run (B)R&un (C)Ru&n (D)Run&

18. 在下面的四个选项中,正确的是()。

(A)在窗体上的菜单栏中也可以设计分隔条

(B)分隔条的标题属性是一个减号字符

(C)分隔条也能响应Click事件

(D)在窗体上的菜单栏中菜单项标题可以是一个减号字符

19. 在下面的四个选项中,正确的是()。

(A)只能使用单击鼠标右键打开弹出式菜单

(B)弹出式菜单只能用PopupMenu方法打开

(C)PopupMenu方法只能放在鼠标事件MouseUp或MouseDown中使用

(D)任何菜单项都可以作为弹出式菜单使用

20. 在下面的四个选项中,正确的是()。

(A)任何菜单项都能做标记(B)任何菜单项都能响应Click事件

(C)在程序中可以给Index属性赋值(D)可以用Load加载任何菜单项数组元素21. 在用通用对话框建立打开或保存对话框时,如果需要指定列表框所列出的文件类型是

文本文件(即.txt文件),则正确的描述格式是()。

(A)”text(>txt)|(*.txt)” (B)”文本文件(.txt)|(.txt)”

(C)”text(.txt)||(*.txt)” (D)”text(.txt)(*.txt)”

22. 以下叙述中错误的是()。

(A)在程序运行时,通用对话框是不可见的

(B)在同一个程序中,用不同的方法(如ShowOpen或ShowSave)打开的通用对话框具有不同的作用

(C)调用通用对话框的ShowOpen方法,可以直接打开在该通用对话框中所指定的文件(D)调用通用对话框的ShowColor方法,可以打开颜色对话框

23. 以下叙述中错误的是()。

(A)在同一窗体的菜单中,不允许出现标题相同的菜单项

(B)在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键

(C)程序运行过程中,可以重新设置菜单的Visible属性

(D)弹出式菜单也在菜单编辑器中定义

24. 在窗体上添加通用对话框CDg1,程序中要显示颜色对话框,使用的语句是()。

(A)CDg1.Action=1 (B)CDg1.Action=2

(C)CDg1.Action=3 (D)CDg1.Action=4

25. 在窗体上添加通用对话框CDg1,用CDg1.Action=2语句可以建立一个专用的对话框,

在下面的选项中,与该语句等效的语句是()。

(A)CDg1.ShowOpen (B)CDg1.ShowFont

(C)CDg1.ShowColor (D)CDg1.ShowSave

26. 文件对话框中FileName属性是()。

(A)只含有文件名的字符串(B)含有盘符、绝对路径和文件名的字符串

(C)含有相对于当前盘的绝对路径和文件名的字符串

(D)含有相对于当前文件夹的绝对路径和文件名的字符串

27. 假设在窗体上已经添加了通用对话框CDg1,并设置了相关属性,在程序中执行语句

CDg1.Filter=”All Files(*.*)|*.*|文本文件(*.txt)|*.txt”后,在对话框的文件列表框中出现的

选项个数是()。

(A)1 (B)2 (C)3 (D)4

28. 假设在窗体上已经添加了通用对话框,为了让其标题显示为“选择保存文件名”。则将

字符串“选择保存文件名”赋值给下面的()选项。

(A)DialogTitle (B)DialogName (C)DialogCaption (D)Caption

二、填空题

1.?

第八章界面设计习题参考答案

一、选择题

题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 B C D B D C B C B C D C A B C 题号16 17 18 19 20 21 22 23 24 25 26 27 28

答案 D B B B B B C A C D B B A

单片机多级菜单编程实现

单片机多级菜单编程实现 单片机多级菜单编程实现(ZT)建立一个树状的菜单结构,用链表实现 链表中包含: 1、指向同级左右菜单和指向父菜单、子菜单的四个菜单结构体指针; 2、进入该菜单时需要执行的初始化函数指针 3、退出该菜单时需要执行的结束函数指针 4、该菜单内的按键处理函数指针数组的指针操作菜单模块需要的按键操作有:左、右、确 认、退出。 采用这种办法,可以方便的添加或删减菜单。并且只需要在其头文件中修改初始变量就可 以实现,完全无须修改C文件中的任何函数。 具体结构定义 我的定义,做个参考: #define MENU_HLP_EN //菜单帮助信息使能 typedef struct { void (*pMenuTaskInit)(void); //指向菜单任务初始化函数的指针 void (*pMenuTaskEnd)(void); //指向菜单任务结束函数的指针 }MENU_TASK_TYP; typedef struct MenuTyp { INT8U *MenuName; //菜单名称字符串 WORK_MOD WorkMod; //工作状态编号 MENU_TASK_TYP *pMenuTask; //指向菜单任务的指针 void (**pTaskKeyDeal)(void); //指向菜单任务按键处理函数数组的指针 #ifdef MENU_HLP_EN INT8U *MenuHlp; //菜单帮助字符串

#endif struct MenuTyp *pParent; //指向上层菜单的指针 struct MenuTyp *pChild; //指向子菜单的指针 struct MenuTyp *pRight; //指向右菜单的指针 struct MenuTyp *pLeft; //指向左菜单的指针 }MENU_TYP; 我根据网上的资料做的一个菜单: /****************菜单数据结构**********************/ struct KeyTabStruct{ uint8 MenuIndex; //当前状态索引号 uint8 MaxItems; //本级菜单最大条目数 uint8 ShowLevel; //菜单显示内容 uint8 PressOk; //按下"回车"键时转向的状态索引号 uint8 PressEsc; //按下"返回"键时转向的状态索引号 uint8 PressDown; //按下"向下"键时转向的状态索引号 uint8 PressUp; //按下"向上"键时转向的状态索引号 void (*CurrentOperate)(); //当前状态应该执行的功能操作 }; uint8 MenuID; //菜单ID号 uint8 MenuNextID; //下级菜单ID号 //CurMenuID=本菜单ID //MaxMenuItem=同级菜单最大项数 //OkMenuID=子菜单层所对应的菜单ID,ID=999为菜单已经到底了 //EscMenuID=父菜单层所对应的菜单ID,ID=999为菜单已经到顶了 //DownMenuID=弟菜单层所对应的菜单ID,ID=999为菜单是独生子 //UpMenuID=兄菜单层所对应的菜单ID,ID=999为菜单是独生子 //CurFunction=本菜单所对应的菜单函数指针 const struct KeyTabStruct KeyTab[MAX_KEYTABSTRUCT_NUM]={ //CurMenuID, axMenuItem, MenuShowLevel, OkMenuID, EscMenuID, Down

汇编 菜单程序设计

DATAS SEGMENT scrmm DB 100 DUP(?) ;主菜单名 menu1 DB'FILE' menu2 DB'Edit' menu3 DB'RUN' menu4 DB'TOOL' menu5 DB'QUIT' ;主菜单File下子菜单名 submenu11 DB'New' submenu12 DB'Open' submenu13 DB'Save' ;主菜单Edit下子菜单名 submenu21 DB'Cut' submenu22 DB'Past' submenu23 DB'Copy' ;主菜单Run下子菜单名 submenu31 DB'Run' submenu32 DB'Go to' submenu33 DB'Step' ;主菜单Debug下子菜单名 submenu41 DB'Call' submenu42 DB'Find' submenu43 DB'Source' ;主菜单Help下子菜单名 submenu51 DB'About' submenu52 DB'Web' submenu53 DB'Exit' ;窗口信息 msg1 DB'Please press Alt+F,Alt+E,Alt+R,Alt+T,Alt+Q or ',19h,' to open the submenu.' msg2 DB'Please press Enter (',11h,0c4h,0d9h,') to open/close the submenu.' msg3 DB'Please press ',1bh,' or ',1ah,' to select the menu.' msg4 DB'Please press ',18h,' or ',19h,' to select the submenu.' ;msg7 DB ' ' ;退出信息' over DB'Thank you for uesing,author by Jianhua' ;其他信息 escape DB'Press ESC to exit.'

菜单程序设计

菜单程序设计 菜单程序设计2010年12月05日星期日下午09:52菜单程序设计 一、菜单 菜单的基本作用: 菜单的基本类型: 几个常用术语: --菜单条出现在窗体标题的下面,包含每个菜单的标题。 --菜单包含命令列表或子菜单名。 --菜单中列出的每一项。 --从某个菜单项分支出来的另外的一个菜单。具有子菜单的菜单项右边带有一个三角符号标志。 --分隔条是在菜单项之间的一条水平直线,用于修饰菜单。 --弹出式菜单是另一种形式的菜单,在按下鼠标右键时出现,它是一个上下文相关的菜单。 使用菜单编辑器可以为应用程序创建自定义菜单并定义其属性,利用这个编辑器,可以建立下拉式菜单,最多可达6层。 启动菜单编辑器的方法有4种(先选中一个窗体,使之为活动窗体): 使用菜单"工具"/"菜单编辑器"; 启动后,弹出菜单设计窗口。 菜单编辑器窗口分为三个部分:数据区、编辑区和菜单项显示区。

1、数据区 用来输入或修改菜单项、设置属性。其中: 隔线。 可在该文本框中输入数值,这个值用来在帮助文件(用HelpFile属性设置)中查找相应的帮助主题。 用来确定菜单或菜单项是否出现或在什么位置出现。该列表有4个选项: 0-None菜单项不显示 2、编辑区 共有7个按钮。 3、菜单项显示区(菜单列表) 位于菜单设计窗口的下部,输入的菜单项在这里显示出来,并通过内缩符号(…)表明菜单项的层次。条形光标所在的菜单项是"当前菜单项"。 说明: 菜单项是一个总的名称,包括4个方面的内容:菜单名(菜单标题)、菜单命令、分隔线和子菜单。 内缩符号由4个点组成,它表明菜单项所在的层次,一个内缩符号(4个点)表示一层,两个内缩符号(8个点)表示两层…最多20个点,即5个内缩符号,它后面的菜单项为第六层。如果一个菜单项前面没有内缩符号,则该菜单为菜单名,即菜单的第一层。 隔线。 下面通过一个简单的例子说明菜单程序设计的基本方法和步骤。 例1

菜单设计C++报告

设计菜单选择程序 (1). 实习题目 菜单是应用程序的界面,通过控制语句改变程序执行的顺序,设计菜单是程序设计的基础。本设计分两步: 第一步:设计一个菜单程序。 1.菜单内容:程序运行后,给出3个菜单项的内容和输入提示,如下: 1)利用克莱姆法则求解线性方程组 2)统计一篇英文文章的单词数 3)退出程序 第二步:为上述菜单项配上相应的功能。 (2). 设计思想 菜单是该程序的整体框架,主要通过使用控制语句用来改变程序执行的顺序,即根据用户选择的不同功能来调用不同的实现函数。如果输入1,进行克莱姆法则求解线性方程组。输入2,统计一篇英文文章的单词数。输入3,退出整个程序。在cpp文件所在的文件夹内建立一个名为1.txt的文本文档,把要统计的单词个数的文章放入其中。 (3). 程序代码 #include #include #include #include #define N 500 #define ERROR cout<<"您输入的指令错误,请重新输入!"< #include using namespace std; void nemu(); //菜单选择函数 void gramer(); void show_text() ; int main() {int a,t=1; while(t) { nemu(); cout<<"选择1-3:"; cin>>a; switch(a) { case 1: cout<<"1.利用克莱姆法则求解线性方程组"<

第11章 用户界面设计

第11章用户界面设计 人机交互活动的大量存在于计算机运行的整个过程当中。目前的应用软件 都采用图形界面用以交互,图形界面的研究也成为了许多软件开发机构的课 题。本章内容主要包括:界面软件设计,设计人机交互子系统,图形用户界面 设计,多媒体用户界面设计。 11.1基础知识 11.1.1 软件面设计 1.可使用行 可使用行是用界面设计最重要的目标。它强调简单,术语标准化和一致 化,拥有完善的帮助功能,系统响应快可系统成本低,具有良好的容错能力。 2.灵活行 灵活行包括:算法可隐可现,界面方式可由用户动态制定和修改,提供 不同详细程度的系统响应信息,界面的标准化。 3.复杂行 复杂行是用户界面的规模和组织的复杂程度。在完成预定功能的前提 下,用户界面越简单越好。 4.可靠性 无故障使用的时间越长,改用户界面的可靠性就越高。用户界面应能保 证用户正确,可靠的使用系统,保证有关程序和数据的安全行。 5.用户界面设计存在的问题 用户界面的开发有别于其他软件,无固定结构,其目的和用户的真正需 求相适应。但是用户的意图有时候并不容易表达出来,唯有通过进一步的探索 和咨询的方法来完成。而目前的一部分软件设计者的心目中,存在一些心里障 碍,容易妨碍友好界面的设计: (1)部分软件人员没有从用户的角度去考虑界面设计,没有重视界面的美观和方便。 (2)设计人员习惯单一的抽象思维,希望能自主控制软件的运行,忽略了人机交互,有些开发人员则是懒于设计界面的健壮行,害怕用户的干 预导致程序运行的瘫痪。 (3)软件人员和用户在知识结构上存在差异,程序员不乐于学习用户工作领域的专业知识,忽视了软件的专业行,导致生成的软件不适合用户 的习惯。 11.1.2设计人机交互子系统 1.准则 设计出让用户满意的人机交互界面应遵循如下原则:一致性,操作简单, 及时提供反映信息,提供撤销命令,无需记忆,易学,富有吸引力。 2.策略 用户界面是适应人的需要而建立的,因此需要清楚用户的类型,用户的 特性度量以及对用户的工作进行分析。 173

菜单与对话框

菜单与对话框 一、选择题 1.下列不能打开菜单编辑器的操作是_____。 A) 按Ctrl+E B) 单击工具栏中的“菜单编辑器”按钮 C) 执行“工具”菜单中的“菜单编辑器”命令 D) 按Shift+Alt+M 2.以下说法正确的是_____。 A) 任何时候都可以使用标准工具栏的“菜单编辑器“按钮打开菜单编辑器 B) 任何时候都可以使用“工具“菜单下的”菜单编辑器“命令打开菜单编辑器 C) 只有当某个窗体为当前活动窗体时,才能打开菜单编辑器 D) 只有当某个代码窗口为当前活动窗体时,才能打开菜单编辑器 3.假定有一个菜单项,名为MenuItem,为了在运行时该菜单项失效(变灰),应使用的语句为_____。 A) MenuItem.Enabled=False B) MenuItem.Enabled=True C) MenuItem.Visible=True D) MenuItem.Visible=False 4. 在下列关于菜单的说法中,错误的是_____。 A) 每一个菜单项都是一个控件,与其他控件一样都有自己的属性和事件 B) 除了Click事件之外,菜单项还能响应其他的如 DblClick等事件过程 C) 菜单项的快捷键不可以任意设置 D) 在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能 被用户选择 5. 以下叙述中错误的是_____。 A) 在同一窗体的菜单项中,不允许出现标题相同的菜单项 B) 在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键 C) 程序运行过程中,可以重新设置菜单的Visible属性 D) 弹出式菜单也在菜单编辑器中定义 6. 如果要在程序中显示一个弹出式菜单,那么要调用Visual Basic中提供的方法_____。 A)Print B)Move C)Refresh D)PopupMenu 7. 假设在菜单编辑器中定义了一个菜单项,名为Menu1。为了在运行时隐藏该菜单项,应使用的语句是_____。 A) Menu1.Enabled=True B) Menu1.Enabled=False C) Menu1.Visible=True D) Menu1.Visible=False 8.如果要向工具箱中加入控件和部件,可以利用“工程”的菜单中的_____命令。 A) 引用 B) 部件 C) 工程属性 D) 添加窗体 https://www.360docs.net/doc/c24964452.html,monDialog控件可以显示_____对话框。 A)4种 B)5种 C)6种 D)7种 10. 以下叙述中错误的是_____。 A) 在程序运行时,通用对话框控件是不可见的 B) 在同一个程序中,用不同的方法(如ShowOpen或ShowSave等)打开的通用对话框具有不同的作用 C) 调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件

系统菜单编程

系统菜单 系统菜单是每个 Windows 程序的标准特性。通常系统菜单由 Windows 系统来管理,所以我们平时写程序时很少去碰它。但是,有的时候,我们确实想定制自己的系统菜单项。这样就涉及到定制菜单的处理问题,因为 Windows 无法自动处理我们定制的系统菜单。而且,系统菜单的处理方式与常规的菜单处理是不同的。 添加菜单项 首先在资源定义文件 resource.h 中定义菜单项标识,也可以在标准头文件中定义。菜单项标识必须具有唯一性。其次,Windows 对系统菜单的处理与常规菜单的处理方法是不同的,不管是缺省的菜单还是定制的菜单,它们都没有像常规菜单命令那样的消息处理例程。假设我们要添加两个定制的系统单: #define IDM_EXIT 0x0020 添加菜单项的命令是在对话框的初始化例程以及窗口创建函数(OnInitDialog(), OnCreate())中进行的。如: BOOL CBabelOnDlg::OnInitDialog() { CDialog::OnInitDialog(); // 在系统菜单中添加"退出" 菜单项

// 解决 Windows 95 中的 bug ASSERT((IDM_EXIT & 0xFFF0) == IDM_EXIT); // 命令 ID 必须在预定义的系统菜单之后 ASSERT(IDM_EXIT < 0xF000); CMenu* pSysMenu = GetSystemMenu(false); if (pSysMenu != NULL) { pSysMenu->AppendMenu(MF_STRING,IDM_EXIT,"退出(&x)"); } //other initialization } 这里在添加每个菜单前都有两个 ASSERT 语句,第一个 ASSERT 的目的是修复 Windows 95 中存在的 Bug,第二个 ASSERT 保证定制的命令 ID 是在预定义的系统菜单之后,以免发生冲突。查一下 MSDN 库的 MFC 文档关于系统菜单的描述,你会发现下面的内容: “......所有预定义的控制菜单项(也就是系统菜单)的ID号必须大于 0xF000。如果某个应用程序要添加系统菜单,其系统菜单的 ID 号必须小于 F000。” 接下来,用 GetSystemMenu 函数获取系统菜单指针。调用时使用参数 false 获取指针。如果用 true 作为参数,那么该函数会将菜单重置回缺省状态。 如果得到的指针有效,接着调用菜单添加命令在系统菜单后面添加菜单项,传递菜单ID以及菜单显示时所用的字符串。

菜单与对话框

菜单与对话框 (总分:34.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:13,分数:26.00) 1.如果设置了通用对话框的以下属性:DefaultExt="doc" FileName="c:/file1.txt",Filter= "应用程序|*.exe”,则显示“打开”对话框式,在“文件类型”下拉列表中的默认文件类型是 ______ 。 (分数:2.00) A.应用程序(*.ex √ B.*.doc C.*.txt D.不确定 解析: 2.以下叙述中错误的是______ 。 (分数:2.00) A.在同一窗体的菜单项中,不允许出现Name 属性相同的菜单项√ B.在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键 C.程序运行过程中,可以重新设置菜单的Visible 属性 D.同一个窗体中的所有弹出式菜单都在同一个菜单编辑器中定义 解析: 3.假定已经在菜单编辑器中建立了窗体的弹出式菜单,其顶级菜单的名称为a1,其“可见”属性为False,则程序运行后,可以同时响应鼠标左键单击和右键单击的事件过程是 ______ 。 (分数:2.00) A.Private Sub Form_ MouseDown (Button As Integer, _ Shift As Integer, X As Single, Y As Singl If Button = 1 And Button = 2 Then PopupMenu al End If End Sub B.Private Sub Form_ MouseDown (Button As Integer, _ Shift As Integer, X As Single, Y As Singl PopupMenu a1 End Sub √ C.Private Sub Form_ MouseDown (Button As Integer, _ Shift As Integer, X As Single, Y As Singl If Button = 1 Then PopupMenu a 1 End If End Sub D.Private Sub Form_ MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Singl If Button = 2 Then PopupMenu a 1 End If End Sub 解析: 4.在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个名为Command1的命令按钮,并编写如下事件过程: Private Sub Command1_ Click() CommonDialog1. Flags= cd10FNHideReadOnly CommonDialog1. Filter= "All Files (*.*) |*.*|Text File" & _ "(*.txt) |*.txt | Batch Files (*.bat)| *.bat" CommonDialog1. FilterIndex = 2 CommonDialog1. ShowOpen MsgBox CommonDialog1. FileName End Sub程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是______ 。 (分数:2.00) A.All Files (*.*) B.Text Files(*.tx √ C.Batch Files (*.ba D.不确定 解析: 5.如果要在菜单中添加一个分隔线,则应将其Caption 属性设置为______ 。 (分数:2.00) A.= B.* C.&

第11章_对话框与菜单程序设计

第11章对话框及菜单程序设计 本章要求: 了解自定义对话框的使用。 掌握通用对话框的建立和常用属性、常用方法; 掌握利用菜单设计器来建立、修改菜单项的方法; 本章重点:通用对话框的使用、菜单的建立与使用本章重点:通用对话框的使用、动态菜单概述:“对话框”可以被看作一种特殊的窗体,它的大小一般不可改变,也没有“最小化”和“最大化”按钮,它只有一个“关闭”按钮(有时还包含一个“帮助”按钮)。 VB提供了三种解决方案: 系统预定义的对话框(InputBox和MsgBox) 用户自定义对话框 通用对话框控件。 11.1对话框程序设计 11.1.1 由普通窗体创建自定义对话框对话框窗体与一般窗体在外观上是有区别的,需要通过设置以下属性值来自定义窗体外观。 1.BorderStyle属性 窗体的BorderStyle属性值设置为3(VbFixedDoubleialog) 此目的是取消最大化和最小化按钮。 2.ControlBox属性属性值为True时窗体显示控制菜单框,为False时不显示。 例11-1 建立一个用户登录对话框 运行结果如下: 11.1.2 使用对话框模板窗体创建对话框 Visual Basic6.0系统提供了多种不同类的“对话框”模板窗体,通过“工程”菜单中的“添加窗体”命令,即可打开“添加窗体”对话框。用户可以选择的对话框有“关于”对话框、对话框、登录对话框、日积月累、ODBC登录、选项对话框6类等,

11.1.3 通用对话框程序启动时,一般没有通用对话框控件,因此,为了使用通用对话框,需要把通用对话框控件添加到工具箱,操作如下: 1.打开通用对话框 通用对话框可以提供6种形式的对话框,通过设置Action 属性值或调用Show 方法来建立不同类型的对话框。如下表: 打开通用对话框的方法与Action 属性设置 如果在过程中显示某种类型的对话框,只需要在过程中输入: 通用对话框控件名.[方法名]或者通用对话框控件名.action=[属性值]即可。 通用对话框的属性页 在设计时,可能通过属性窗口设置通用对话框的属性设置控件属性,通常使用通用对话框的属性页设置相关属性。 注:加入通用对话框后,选中,而后在属性设计页选Custom ,则出现属性对话框设置属性窗口。 打开对话框可以用来指定文件所在驱动器、文件夹及文件名等。如果要显示打开对话框,则只需要在过程中输入: 通用对话框控件名.showopen 或者通用对话框控件名.action=1 例11-2 显示图片示例 类型 Action 属 方法 “打开”对话框 1 ShowOpen “另存为”对话框 2 ShowSave “颜色”对话框 3 ShowColor “字体”对话框 4 ShowFont “打印”对话框 5 ShowPrinter “帮助”对话框 6 ShowHelp Dialog FileN Fil FilterI Defaul 工程/部 选定Microsoft CommDialog Control 6.0 确 选定部件标

C语言程序设计报告(菜单+源码+测试)

一:系统功能 基本功能: 图书的录入,删除,查找,和导入导出等。 图书属性: 书号,书名,第一作者,版次,出版年等。 菜单功能: 1.Input Records(输入若干条记录) 从键盘一次输入一本书的信息,存放到结构体数组中,然后显示。 提示信息,确认是否输入下一条记录。 2.Display All Records(显示所有记录) 按顺序显示所有记录,每屏显示10条记录,按键继续显示下一屏。 3.Delete a Record(按书名查找,删除一本书) 输入待删除书的书名,显示该书名的所有书目,提示输入待删除书目的书号,提示是否删除,确认后,删除该书。 4.Sort(排序) 以书名为升序排列数组 5.Insert a record(插入一条记录) 以书名为序排列的数组中插入一条记录,插入后,数组仍然有序。 输出插入成功后的信息。 6.Query(查找并显示一个记录) 输入书名,查找并显示包含该书名的所有图书信息 7.Add Records from a Text File(从文件读入图书信息到结构体数 组中) 用户可事先建立一个文本文件Dictory.txt。存放所有图书信息,文件格式如下: 2 1182 高等数学刘浩荣 5 同济大学出版社 2013 7300 物理化学王德明 2 化学工业出版社 2015 8.Write to a Text File 将数组中的全部记录写入文件Records.txt中,要求格式与Dictory.txt相同。 0.Quit(退出图书管理系统) 新增加菜单功能: 9.Change a record 修改某一条记录的值 a.Menu 显示菜单 b.Clear Screen 清屏 c.Pause 按暂停,按任意键继续 二:数据结构 Typedef struct { char ISBN[10];//书号 char book[30];//书名 char author[20];//作者 Int edition;//版本号 char press[50];//出版社名 int year;//出版年 }Bookinfo;

为对话框增加菜单

为对话框增加菜单 1.为对话框创建一个菜单资源IDR_MENU1。 2. 在对话框的属性对话框中在Menu属性中选择刚创建的菜单资源IDR_MENU1。此时保存编译后,在对话框中就可看到菜单。 3.点击快捷键Ctrl + W,在“Add a Class”对话框中选择已存在的对话框类“Select an existing class”,打开“Select Class”对话框。

4. 选择对话框类,本例中的类名为CDlgDlg,选中进入下一步。 5. 进入MFC ClassWizard对话框,在消息映射属性页中,为菜单增加消息处理函数,本例中为“打开文件”菜单增加COMMAND处理函数,增加的函数名为 OnFileOpen。

6.编辑OnFileOpen函数代码,实现自己定义的功能,本例只是简单显示“关于”对话框。 void CDlgDlg::OnFileOpen() { CAboutDlg dlgAbout; dlgAbout.DoModal(); } 编译运行后,点击文件菜单的子菜单“打开文件”,将弹出“关于”对话框,如 下图所示。

接下来为对话框添加右键菜单。 1.为对话框增加事件 2.在打开的对话框中,在左侧的消息/事件列表中选择WM_CONTEXTMENU,添加OnContextMenu函数。

3. 编辑代码如下。 void CDlgDlg::OnContextMenu(CWnd* pWnd, CPoint point) { CMenu MyMenu; MyMenu.LoadMenu(IDR_MENU1); CMenu* pMyMenu=MyMenu.GetSubMenu(0); pMyMenu->TrackPopupMenu(TPM_LEFTBUTTON|TPM_LEFTALIGN,point.x ,point.y,this); MyMenu.DestroyMenu(); } 显示效果:

菜单

实验三菜单 一.实验目的和要求 (1)学会在用AppWizard生成的应用程序框架中加入用户自己定义的菜单。 (2)学会更新菜单。 (3)掌握快捷菜单的使用。 二.实验内容 (1)编写一个单文档的应用程序sy3,为程序添加主菜单“显示”,且“显示”菜单中包含“文本”和“图形”两个菜单项。当程序运行时,用户单击“文本”菜单项,可以再视图窗口中显示“我已学会如何设计菜单程序”文本信息,单击“图形”菜单项在视图窗口中画一个红色的实心矩形。 当点击“文本”时,显示如下: 代码如下: void CSy3View::Ontxt() { // TODO: Add your command handler code here CClientDC dc(this); dc.SetTextColor(RGB(0,0,255)); dc.TextOut(30,30,"我已学会如何设计菜单程序"); } 当点击“图形”时,显示如下:

代码如下: void CSy3View::OnRectangle() { // TODO: Add your command handler code here CClientDC dc(this); CBrush *oldbrush,newbrush; newbrush.CreateSolidBrush(RGB(255,0,0)); oldbrush = dc.SelectObject(&newbrush); dc.Rectangle(80,80,300,200); dc.SelectObject(oldbrush); newbrush.DeleteObject(); } (2)为应用程序SY3新增的菜单项添加控制功能。当“文本”菜单项被选中时,“图形”菜单项无效;当“图形”菜单项被选中时,“文本”菜单项无效。 当选中“文本”时:

第十一章BHAR法

第十一章 BHAR 法 本章导读: 事件研究法是探讨事件 (如合并、 收购、 收益公告或再融资行为等 )发生前后标的公司股票价格 (或企业价值 )反应的经验研究方法。基于检验期的长短 ,事件研究可分为短期和长期事件研究。短期事件研究通常是指检验期小于一年的事件研究 ,而长期事件研究则是指检验期人于等于 1年的事件研究。应该说 ,长期事件研究是对短期事件研究的延伸 ,其直接目的是检验公司事件 (如首发、 增发、 收益公告等 )的长期效应 ,但也间接地检验了市场有效性假说。本章是第九章的一个延伸或补充。 11.1 BHAR 法简介 BHAR (Buy and Hold Abnormal Return ),即购入 -持有异常收益法。无论是短期事件研究 ,还是长期事件研究 ,都包含以下六大步骤 ,即定义事件以及事件研究窗口、 选择研究样本、 选择望收益模型或基准收益率、 估计异常收益、 检验异常收益的显着性、 实证结果与解释。然而 ,在长期事件研究中 ,正确选择期望攻益模型或基准收益率、 正确度量异常收益 ,以及正确看待异常收益的统计显着性 ,变得尤其重要。(详细说明参考第九章) BHAR 的计算公式为: 其中,it R 表示t 月样本公司的股票收益率,)(it R E 表示t 月样本公司的股票期望收益率,T 表示考察的时间区间。 11.2 BHAR 与CAR 的比较 CAR 法只是对收益的简单累积,没有考虑到上一个时间段的收益产生对下一个时间段收益的影响,不同时间段的收益的基础已经发了变化,即CAR 没有考虑复合效应对超额收益的影响。举例说明如假设某公司四、五月份实际收益率分别为:15%和5%,而预期收益率为10%,则

《面向对象程序设计》课程界面设计练习题目

《面向对象程序设计》课程界面设计练习题目 Windows NT系统内建了若干个的常用控件,极大地方便了Windows下可视化程序的开发。对于初学者来说,能够熟练地使用这些控件,是学好C++面向对象编程的关键步骤。 为了指引初学者或者检验学习效果,下面设计了五个练习题目,囊括了大部分的常用控件,以及程序界面开发中常常使用的技术。练习题目如下: 一、播放器配置程序 二、消息提示器 三、流媒体管理器 四、可定制背景的视图 五、通讯簿

一、播放器配置程序 内容: 制作一个基于对话框的播放器配置程序,能够从配置文件(*.ini )中读取设置信息;能够将修改后的设置信息保存在配置文件中。界面如图1所示: 图1 播放器设置界面 目的: 掌握使用VS 建立基于对话框的应用程序;熟悉标签(Static Text )、分组(Group Box )、按钮(Button )、编辑框(Edit Control )、组合框(Combo Box )、单选按钮(Radio Button )、复选框(Check Box )、热键设置控件(Hot Key )等常用控件的属性、事件;掌握配置文件(*.ini )的读写;学习MSDN 文档的查阅等。 要求: 1、 控件1(组合框):不可输入文字,只能从下拉列表中选取一项,列表中的 内容为:简体中文、繁軆中文、English ; 2、 控件2(复选框):默认勾选。 3、 控件3(热键设置控件):当控件2勾选时,控件才3可编辑;当控件2未1 2 3 4 5 6 7 8 9 12 13 14 15 16 10 11

勾选时,控件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显示控件的序号,在序号上点击可以修改控件的顺序。

四、菜单及对话框习题

四、菜单及对话框习题 一、选择题 1. 多窗体程序是由多个窗体组成。在缺省情况下,VB在应用程序执行时,总是把() 指定为启动窗体。 (A)不包含任何控件的窗体(B)设计时的第一个窗体 (C)包含控件最多的窗体(D)命名为Form1的窗体 2. 刚建立一个新的标准工程后,不在工具箱中出现的控件是()。 (A)单选按钮(B)图片框(C)通用对话框(D)文本框 3. 在用菜单编辑器设计菜单时,必须输入的项是()。 (A)快捷键(B)标题(C)索引(D)名称 4. 在下列关于菜单的说法中,错误的是()。 (A)每个菜单项都是一个控件,与其它控件一样,也有自己的属性和事件 (B)除了Click事件之外,菜单项还能响应其他如DblClick等事件 (C)菜单项的快捷键不能任意设置 (D)在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择 5. 在下列关于通用对话框的叙述中,错误的是()。 (A)CommonDialog1.ShowFont显示字体对话框 (B)在文件打开或另存为对话框中,用户选择的文件名可以经FileTitle属性返回 (C)在文件打开或另存为对话框中,用户选择的文件名及路径可以经FileName属性返回 (D)通用对话框可以用来制作和显示帮助对话框 6. 以下正确的语句是()。 (A)CommonDialog1.Filter=All Files|*.*|Pictures(*.Bmp)|*.Bmp (B)CommonDialog1.Filter=”All Files”|”*.*”|”Pictures(*.Bmp)”|”*.Bmp (C)CommonDialog1.Filter=”All Files|*.*|Pictures(*.Bmp)|*.Bmp” (D)CommonDialog1.Filter={All Files|*.*|Pictures(*.Bmp)|*.Bmp} 7. 在窗体从内存卸载的过程中会发生许多事件,这些事件发生的顺序是()(其 中Terminate事件在窗体及对象的所有引用都被从内存删除后发生)。 (A)Terminate,QueryUnload,Unload (B)QueryUnload,Unload,Terminate (C)QueryUnload,Terminate,Unload (D)Unload,QueryUnload,Terminate 8. 在下面关于窗体事件的叙述中,错误的是()。 (A)在窗体的整个生命周期中,Initialize事件只触发一次 (B)在用Show显示窗体时,不一定发生Load事件 (C)每当窗体需要重画时,肯定会触发Paint事件 (D)Resize事件是在窗体的大小有所改变时被触发 9. 关于多重窗体的叙述中,正确的是()。 (A)作为启动对象的Main子过程只能放在窗体模块内 (B)如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体 (C)没有启动窗体,程序不能执行 (D)以上都不对 10. 如果Form1是启动窗体,并且Form1的Load事件过程中有Form2.show,则程序启动 后()。 (A)发生一个运行错误(B)发生一个编译错误 (C)在所有的初始化代码运行后Form1是活动窗体 (D)在所有的初始化代码运行后Form2是活动窗体 11. 当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将()。 (A)发生DeActivate事件(B)发生DeActivate和LostFocus事件

03界面编程1-菜单(windows 编程技术)

第3章界面编程1-菜单 Windows应用程序开发的基础是GUI的设计与编程,GUI包括Windows API提供的窗口、菜单、对话框和控件等基本界面元素,以及MFC提供的工具栏和状态栏等组合控件,还有键盘和鼠标等消息响应与事件驱动。这些内容将在本书的第3~7章中逐个加以讨论,本章介绍菜单的设计与编程。 3.1 菜单 菜单(menu)是传统GUI程序的主要命令接口,可用键盘和鼠标来访问。虽然菜单是基于文字串的,但是相对于(可视方便的)工具条和(直接快速的)快捷键,菜单所提供的程序功能更为完整和全面。 默认的传统MFC应用程序,会在主框架窗口中自动生成一个菜单条(menu bar)。菜单条也叫顶层菜单(top-level menu),一般包含文件、编辑、查看、窗口、帮助等若干下拉菜单。 3.1.1 菜单与菜单项 菜单可分为包含若干菜单项的弹出菜单和发送命令消息的菜单项两大类,可以用键盘和鼠标这两种输入设备来访问菜单和菜单项(简记为“菜单[项]”)。 1.菜单 弹出菜单(pop-up menu,简称为菜单)包含若干菜单项,一般处于(诸菜单项都不可见的)关闭状态。只有在用户(通过菜单名或按鼠标右键)激活菜单时,才由操作系统弹出来显示。并在用户通过选中菜单中的某个菜单项而发送对应的命令消息之后,又被操作系统自动关闭。 (弹出)菜单又可以进一步分成(菜单条中的)下拉菜单(drop-down menu)和(按鼠标右键后在光标处弹出的)快捷菜单(shortcut menu),参见图3-1 a)。弹出菜单中还可以包含若干(多级)子菜单,由其对应的(右端带的)菜单项激活,参见图3-1 b)。

一个菜单设计程序清单

清屏函数clrscr( ); 清除字符屏幕,使光标回到0行0列;移光标函数gotoxy(10,200; 是将光标移到第10行20列处;上两个函数的头文件为conio.h 一个通讯簿管理的完整菜单程序清单 /*******************************/ /*主控菜单处理测试程序main2.C*/ /*******************************/ #include #include #inClude typedef struct{//通讯录结点类型 char num[5];//编号 char name[9];//姓名 char sex[3];//性别 char phone[13];//电话 char addr[31];//地址 }DataType; tyPedef Struct node{//结点类型定义 Datatype data;//结点数据域 struct node* next;//结点指针域 }ListNode; typedef listNode* linkList ; Linklist head; LiStnOde* p; //函数说明 int menu_ select(); Linklist CreateLISt(VOid); VOid InSertNOde(LinkList head,ListNOde* p); Listnode* ListFind(LinkList head); void DelNode(LinkList head); void PrintList(LinkList head); //主函数 void main() { for(;;){ switch(menu_select()) { case 1:

第十一章 历史记录

第十一章历史记录 11.1 概述 在自动化系统中,系统的开始运行时间、中间是否退出、重要操作、运行维护人员的换班、运行过程是否出现严重工况、故障、系统重要参数的变化过程等对系统运行具有很重要的作用,有时候需要对它们进行记录和跟踪,以更好地保证系统安全、降低宕机时间、进行事故分析、质量分析和生产效率分析,改善系统的运行状况。 组态软件中提供了不同的机制用于对不同类型的信息进行跟踪,如历史数据、运行记录、报警记录和日志等。它们分别从不同的角度来反映工程的运行状况。 历史数据主要记录工程中变量的数值变化过程,这些数据的变化过程直接反映了工程运行状况是否良好,是否稳定,在什么情况下会出现严重工况。对历史数据变化过程的分析可以找到系统的运行规律,是改进系统,提高生产效率和改善生产产品的质量。 事件记录用于记录工程运行过程中重要的操作和是相应的运行人员,这对事故的定位十分有益。报警记录可以追踪运行严重工况,结合事件记录十分便于事故分析。有关报警的内容在“报警”一章中描述。 历史数据和事件记录均是从工程的角度来进行信息跟踪的。和它们不同,日志则是从软件本身的角度来记录易控软件在什么时候启动、退出,在运行过程中出现的一些重要信息,这些信息的大部分是在软件设计和编程时就已经固定的,但工程的开发人员也可以根据自己的需要记录日志信息。这些信息不仅可以帮助工程开发人员排出工程中的故障和对工程进行优化处理,还可以帮助软件开发人员定位可能的软件故障。 11.2 历史数据 历史数据功能就是将工程中变量值的变化过程记录下来,保存到数据库中,用于以后对系统的运行情况进行查询、统计、分析、报告、以了解和改进系统的运行状况。 11.2.1 数据记录 “历史数据”也称“历史记录”,它将所需要记录的工程变量的数值按照规定的时间间隔记录下来,每次记录还需要记录当时的时间,这样事后就可以查询到“在过去什么时刻,哪个变量的数值是多少”。对于缓慢变化的变量,定时记录可能会造成一个没有变化的数值不断重复记录的情况,因此也可以选择按照数值变化后进行记录,其目的是为了减少数据的记录量。有时候用户还可能需要不按照既非定时也非变化的方式来记录历史数据。 在记录的变量较多和记录时间较长时,历史数据可能会很多,因为保存这些数据的目的是

相关文档
最新文档