菜单与对话框
- 格式:doc
- 大小:39.50 KB
- 文档页数:4
专业课程实验报告课程名称:windows程序设计开课学期: 2015至2016 学年第1学期专业:计算机科学与技术年级班级:2013级学生姓名:刘敏学号:222013*********实验教师:刘红俊计算机与信息科学学院软件学院wcex.lpszMenuName = MAKEINTRESOURCE(IDC_WIN32PROJECT2);2.对话框资源及其应用:1)模式对话框:①定义对话框资源:资源文件中如此定义对话框资源:对话框名 DIALOGEX x,y,weight,hightSTYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION ""FONT 9, ""BEGIN对话框的控件定义END②调用函数DiaLogBox显示对话框;③构造对话框消息处理函数;④关闭对话框。
2)非模式对话框:①定义非模式对话框:STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION |WS_SYSMENU|WS_VISIBLE②创建对话框函数:HWND CreateDialog{hInst, MAKEINTRESOURCE(IDD_SHOWBOX),hWnd,(DLGPROC)DlgProc}③消息循环:while (GetMessage(&msg, NULL, 0, 0)){if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)){TranslateMessage(&msg);DispatchMessage(&msg);}}④关闭对话框:DestroyWindow(hDlg);3)程序加载图标:IDI_WIN32PROJECT2 ICON "Win32Project2.ico"IDI_SMALL ICON "small.ico"(三)程序代码:Win32Project2.cpp// Win32Project2.cpp : 定义应用程序的入口点。
三种菜单编程实现1.新建插件工程mon。
2.添加依赖插件3.新建包mon.handler。
4.新建类NewFolderHandler,并继承AbstractHandler5.在插件根节点新建plugin.xml文件和icons文件夹。
6.扩展mands,并添加如下扩展信息:7.扩展org.eclipse.ui.handlers,添加信息如下:1.查找要扩展的视图ID,经过系统查询,视图ID为com.teamcenter.rac.ui.views.DetailsView。
2.根据前面所讲的视图菜单扩展规则,在扩展点添加视图菜单代码如下:3.通过Eclipse启动Teamcenter客户端,进入系统,则可以看到所添加的视图菜单:1.根据前面所讲的上下文菜单扩展规则,在扩展点添加上下文菜单代码2. 重启Teamcenter系统,点击右键菜单,可以出现我们的上下文菜单添加My New Folder到File主菜单1.根据前面所讲的主菜单扩展规则,在扩展点添加主菜单代码2.启动Teamcenter系统并进入,就可以看到我们客户化的菜单项1.控制菜单出现在固定的透视图,代码如下所示:2.该方式控制My New Folder在My Teamcenter透视图中,如要添加到多个应用或者透视图中通过activeWhen可以控制菜单的启用与禁用1.在现有代码工程中建立自己的主菜单,并添加My New Folder菜单项,代码如下:新建mands.newmyfolder包。
2.新建NewFolderCustomAction类,该类继承AbstractAIFAction类并对run方法进行重写,代码如下:3.新建NewFolderCustomCommand类并继承AbstractAIFCommand类4.新建NewFolderCustomDialog类,并继承AbstractAIFDialog类,并实现InterfaceAIFOperationListener方法。
QT(4).窗⼝、对话框、状态栏、菜单栏1、坐标体系以左上⾓为原点,X向右增加,Y向下增加。
对于嵌套窗⼝,其坐标是相对于⽗窗⼝来说的。
2、QWidget所有窗⼝及窗⼝控件都是从QWidget直接或间接派⽣出来的。
3、QMainWindowQMainWindow是⼀个为⽤户提供主窗⼝程序的类,包含⼀个菜单栏(menubar)、多个⼯具栏(tool bars)、多个锚接部件(dock widgets)、⼀个状态栏(status bar)及⼀个中⼼部件(central widget),是许多应⽤程序的基础,如⽂本编辑器,图⽚编辑器等。
1、菜单栏⼀个主窗⼝最多只有⼀个菜单栏。
位于主窗⼝顶部、主窗⼝标题栏下⾯。
创建菜单栏,通过QMainWindow类的menubar()函数获取主窗⼝菜单栏指针QMenuBar *menuBar() const创建菜单,调⽤QMenu的成员函数addMenu来添加菜单QAction*addMenu(QMenu * menu)QMenu*addMenu(const QString & title)QMenu*addMenu(const QIcon & icon, const QString & title)创建菜单项,调⽤QMenu的成员函数addAction来添加菜单项QAction*activeAction() constQAction*addAction(const QString & text)QAction*addAction(const QIcon & icon, const QString & text)QAction*addAction(const QString & text, const QObject * receiver,const char * member, const QKeySequence & shortcut = 0)QAction*addAction(const QIcon & icon, const QString & text,const QObject * receiver, const char * member,const QKeySequence & shortcut = 0)Q t 并没有专门的菜单项类,只是使⽤⼀个QAction类,抽象出公共的动作。
为对话框增加菜单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、通用对话框常用属性2、通用对话框应用举例3、文件相关概念4、文件操作与应用二、教学过程1、通用对话框属性A)DialogTitle属性:设置对话框的标题Private Sub Command1_Click()CommonDialog1.DialogTitle = "对话框标题"CommonDialog1.ShowOpenEnd SubB)FileName属性:设置或返回要打开或保存的文件的路径及文件名返回文件的路径及文件名CommonDialog1.FileName = "C:\WINDOWS\Web\Wallpaper\xx.jpg" '引号内为路径,或文件名CommonDialog1.ShowOpenC)FileTitle属性:设置或返回要打开或保存的文件的文件名返回文件名D)Filter属性:指定对话框中显示的文件类型(过滤文件)CommonDialog1.Filter = "所有文件(*.*)|*.*|文本文件(*.txt)|*.txt|mp3文件(*.mp3)|*.mp3|"CommonDialog1.ShowOpenE)FilterIndex属性:指定默认的文件类型,值为一个整数CommonDialog1.Filter = "所有文件(*.*)|*.*|文本文件(*.txt)|*.txt|mp3文件(*.mp3)|*.mp3|"CommonDialog1.FilterIndex = 3 '打开的就是第三种类型的文件CommonDialog1.ShowOpenF)InitDir属性:用来指定对话框中显示的起始目录。
若没有设置,刚返回当前目录。
CommonDialog1.InitDir = "d:"CommonDialog1.ShowOpen2、键盘事件A)KeyPressPrivate Sub Text1_KeyPress(KeyAscii As Integer)Print "你按下了某个键"Print KeyAsciiMsgBox "你按下的键是" & Chr(KeyAscii)End SubB)KeyDownPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Print "按下……"End SubC)KeyUpPrivate Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)Print "松开……"End SubKeyCode码与KeyAscii码的区别1,键盘上的所有按键都有KeyCode码,有且只有一个,不会分A和a,包括Ctrl,Alt,Del等都有keyCode码;2,KeyAscii A的KeyAscii码为65,而a的码为97;Ctrl、Alt 及方向键等没有KeyAscii码;Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)'button:值为1,按下了左键;值为2,按下了右键;值为4,按下了中键'shift:值为1,按下了shift键;值为2,按下了ctrl键;值为4,按下了alt键End Sub文件练习1、Private Sub Command1_Click()Open "d:\ab.txt" For Output As #1Write #1, "张三", "男", 98, 87, 89Write #1, "李四", "女", 78, 99, 97Write #1, "王五", "男", 96, 85, 74Close #1End Sub2、把1-50各数及能被7整除的数分别存入两个文件中。
详细介绍Windows 7菜单和对话框除了窗口以外,在Windows 7中还有两个比较重要的组件:菜单和对话框。
下面xp系统之家主要讲述这两个组件的知识。
1、Windows 7菜单Windows 7操作系统中,菜单分成两类,即右键快捷菜单和下拉菜单。
用户可以在文件、桌面空内处、窗口空白处、盘符等区域上右击,即可弹出个决捷菜单,其中包含对选择对象的操作命令。
另外一种菜单是下拉菜单,用户只需单击不同的菜单,即可弹出下拉菜单。
例如在[我的电脑】窗口中单占【组织】菜单,即可弹出一个下拉菜单。
2、Windows 7 对话框在Windows 7操作系统中,对话框是用户和电脑进行交流的中间桥梁。
用户通过对话框的提示和说明,可以进行进一步操作。
一般情况下,对话框中包含各种各样的选项,具体体现如下。
(1)选项卡。
选项卡多用于对一些比较复杂的对话框分为多页,实现页面的切换操作。
(2)文本框。
文本框可以让用户输人和修改文本信息。
(3)按钮。
按钮在对活框中用于执行某项命令,单击按钮可实现某项功能。
(4)同定列表框。
同定列表框列出关于某个设置的有效值,用户可选中其中的一个或多个。
(5)下拉列表框。
下拉列表框通过下拉箭头显示选项。
(6)数值框。
数值框用于提供用户输人数字的矩形框,还可以通过箭头增加和减少数值。
(7)单选框。
单选框的标记为一个圆点,一绗单选框同时出现,用户只能选择其中一个。
(8)复选框。
复选框的标记是一个方格,一组复选框出现时,用户可以选择任意多个。
文章来源于系统之家。
菜单与对话框一、选择题1.下列不能打开菜单编辑器的操作是_____。
A) 按Ctrl+E B) 单击工具栏中的“菜单编辑器”按钮C) 执行“工具”菜单中的“菜单编辑器”命令 D) 按Shift+Alt+M2.以下说法正确的是_____。
A) 任何时候都可以使用标准工具栏的“菜单编辑器“按钮打开菜单编辑器B) 任何时候都可以使用“工具“菜单下的”菜单编辑器“命令打开菜单编辑器C) 只有当某个窗体为当前活动窗体时,才能打开菜单编辑器D) 只有当某个代码窗口为当前活动窗体时,才能打开菜单编辑器3.假定有一个菜单项,名为MenuItem,为了在运行时该菜单项失效(变灰),应使用的语句为_____。
A) MenuItem.Enabled=False B) MenuItem.Enabled=TrueC) MenuItem.Visible=True D) MenuItem.Visible=False4. 在下列关于菜单的说法中,错误的是_____。
A) 每一个菜单项都是一个控件,与其他控件一样都有自己的属性和事件B) 除了Click事件之外,菜单项还能响应其他的如 DblClick等事件过程C) 菜单项的快捷键不可以任意设置D) 在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择5. 以下叙述中错误的是_____。
A) 在同一窗体的菜单项中,不允许出现标题相同的菜单项B) 在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键C) 程序运行过程中,可以重新设置菜单的Visible属性D) 弹出式菜单也在菜单编辑器中定义6. 如果要在程序中显示一个弹出式菜单,那么要调用Visual Basic中提供的方法_____。
A)Print B)Move C)Refresh D)PopupMenu7. 假设在菜单编辑器中定义了一个菜单项,名为Menu1。
为了在运行时隐藏该菜单项,应使用的语句是_____。
A) Menu1.Enabled=True B) Menu1.Enabled=FalseC) Menu1.Visible=True D) Menu1.Visible=False8.如果要向工具箱中加入控件和部件,可以利用“工程”的菜单中的_____命令。
A) 引用 B) 部件 C) 工程属性 D) 添加窗体monDialog控件可以显示_____对话框。
A)4种 B)5种 C)6种 D)7种10. 以下叙述中错误的是_____。
A) 在程序运行时,通用对话框控件是不可见的B) 在同一个程序中,用不同的方法(如ShowOpen或ShowSave等)打开的通用对话框具有不同的作用C) 调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件D) 调用通用对话框控件的ShowColor方法,可以打开颜色对话框11. 以下关于菜单的叙述中,错误的是______。
A) 在程序运行过程中可以增加或减少菜单项B) 如果把一个菜单的Enabled属性设置为False,则可删除该菜单项C) 弹出式菜单在菜单编辑器中设计D) 利用控件数组可以实现菜单项的增加或减少12. 在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt文件),则正确的描述格式是______。
A) “text (.txt)|(*.txt)”B)“文本文件( .txt) | (.txt)”C) “text(.txt)||(*.txt)” D)“text(.txt)(*.txt)”13.Visual Basic通过菜单编辑器来设置应用程序的菜单,若要求在程序运行的过程中,选中该命令时,在该命令前有“√”的标记,则应该在菜单编辑器中_______。
AA)选中“复选” B)“复选”不被选中 C)选中“有效” D)“有效”不被选中14. 在窗体上画一个名称为CommonDialogl的通用对话框,一个名称为Commandl的命令按钮。
要求单击命令按钮时,打开一个保存文件的通用对话框。
该窗口的标题为"Save",缺省文件名为“SaveFile”,在“文件类型”栏中显示*.txt。
则能够满足上述要求的程序是_____。
A) Private Sub Command_C1ick()Commondialogl.FileName="Savefile"Commondialogl.filter="All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc"CommonDialogl.Filterindex=2CommonDialogl.Dial0g.title="Save"CommonDialogl.Action=2End SubB) Private Sub Commandl_Click()CommonDialogl.FileName="SaveFile"CommonDiaLog1.Filter="A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc"C0mmonDialogl.FilterIndex=1CommonDialogl.DialogTitle="Save"CommonDialogl.Action=2End SubC) Private Sub Cmmandl_C1ick()CommonDialogl.FileName="Save"CommonDialog1.FiLter="A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"CommonDialogl.Filterindex=2CommonDialogl.DialogTitle="SaveFile"CommonDialogl.Action=2End SubD) Private Sub Commandl_C1ick()CommonDialogl.FileName="SaveFile"CommonDialog1.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"CommonDialogl.FilterIndex=1CommonDialogl.DialogTitle="Save"CommonDialogl.Action=1End Sub15.通用对话框的Filename属性中_____。
A)只含有文件名的字符串B)含有相对于当前文件夹的路径和文件名的字符串C)含有相对于当前盘的绝对路径和文件名的字符串D)含有盘符、绝对路径和文件名的字符串16. 假设在窗体上建立了一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮Command1, 并编写如下事件过程:Private Sub Command1_Click()CommonDialog1.Flags = 4CommonDialog1.Filter = "all files(* . *)|* .*|text Files(* .Txt)|* .txt|Batch Filse(*.bat)|*.bat"CommonDialog1.FilterIndex = 1CommonDialog1.ShowOpenMsgBox CommonDialog1.FileNameEnd Sub程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”对话框中显示的是_____。
A) All Files(* . *) B) text Files(*. Txt) C) Batch Files(*.bat) D) 不确定17. 假定在窗体上建立一个通用对话框,其名称为CommonDialog1,用下面的语句可以建立一个对话框:与语句 CommonDialong1.Action = 4 等价的语句是_____。
A)CommonDialong1.ShowOpenB)CommonDialong1.ShowFontC)CommonDialong1.ShowColorD)CommonDialong1.ShowSave二、填空题1.如果菜单标题的某个字母前输入一个____符号,那么该字母就成了热键字母;如果建立菜单时在标题文本框中输入一个___________,那么显示时将形成一行分隔符。
2.在菜单编辑器中建立了一个菜单,名为pmenu,用下面的语句可以把它作为弹出式菜单弹出,请填空。
Form1._________Pmenu3.窗体上有一个通用对话框CommonDilog1和一个命令按钮Command1,当单击按钮则打开“颜色对话框”在命令按钮的单击事件过程中输入设置属性代码 ______________________或用方法代码_________________实现。
4.菜单分为__________菜单和__________菜单,菜单总与__________相关联,设计菜单需要在____________________中设计。
1.菜单编辑器中,若菜单前没有内缩符号“…”,表示该菜单项是__________ 。
三、参考答案1)选择题1.D2.C3.A4.B5.A6.D7.D8.B9.C 10.C 11.B 12.A 13.A 14.A 15.D 16.A 17.B2)填空题1. & 、-2. PopupMenumonDialog1.action=3、CommonDialog1.showcolor4.下拉式、弹出式、窗体、菜单编辑器5.主菜单项。