编程定制菜单和对话框
- 格式:docx
- 大小:1.67 MB
- 文档页数:13
1、打开菜单模板编辑器
2、插入空白菜单项
按Insert键,如果已有则编辑之3、编辑菜单(标题)
注:&D表示助记键为D
4、编辑下拉菜单
注:...表示将弹出对话框
5、插入分隔符
将空白菜单项属性的分隔符勾上
6、定制级联菜单
将下拉菜单项的弹出属性选上
7、添加菜单项说明,内容将在状态栏显示
定制快捷键
1、添加快捷键提示文本
即在菜单项标题属性中添加类似“\tCtrl+K”的字符串,其中“Ctrl+K”就是快捷键。
2、添加快捷键资源
打开快捷键编辑器;
双击最后一行,编辑快捷键属性;
注:ID标签与菜单项ID对应。
定制右键(浮动)菜单
1、定制菜单模板
注:和普通菜单定制方法一样,“浮动”是要通过代码来实现的。
2、代码实现:为视图类添加右键事件响应函数OnRButton Up
为视图类添加成员变量
3、修改右键事件响应函数OnRButtonUp.
4、将右键菜单资源添加到主框架类,为该类添加事件响应函数。
注:视图类接管处理按键和鼠标消息,当右键事件触发视图类的响应函数时将显示右键菜单;
而主框架类接管菜单项命令消息,当点击某菜单项就触发主框架类,进而调用响应函数。
VBA自定义工具栏和按钮设计方法在Microsoft Office套件中,VBA(Visual Basic for Applications)是一个强大的编程语言,它允许用户自定义各种自动化和扩展功能。
其中之一就是自定义工具栏和按钮。
本篇文章将探讨VBA中自定义工具栏和按钮的设计方法。
一. 创建自定义工具栏自定义工具栏是一组自定义按钮的集合,用于在Office应用程序中方便地访问常用功能和宏。
以下是创建VBA自定义工具栏的步骤:1. 打开VBA编辑器首先,打开你想要自定义工具栏的Office应用程序(如Word、Excel 等),然后按下Alt + F11打开VBA编辑器。
2. 插入自定义工具栏在VBA编辑器中,点击“插入”选项卡,然后选择“用户窗体”菜单下的“工具栏”选项。
这将插入一个自定义工具栏。
3. 重命名和自定义工具栏选中新插入的自定义工具栏,然后在“属性”窗口中将其名称更改为你喜欢的名称。
接下来,右键单击工具栏并选择“定制”,你将能够在弹出的对话框中自定义工具栏的按钮。
4. 添加按钮在“定制”对话框中,选择“新命令”按钮,然后从命令列表中选择一个你想要添加到工具栏中的命令。
你还可以选择图标和提示,以及可选的快捷键。
点击“确定”将按钮添加到工具栏。
5. 完成完成后,关闭VBA编辑器。
现在,你将在Office应用程序的工具栏上看到你自定义的工具栏。
你可以拖动它到任何你希望它出现的位置。
二. 创建自定义按钮除了自定义工具栏,你还可以直接在工具栏上创建单独的自定义按钮。
以下是创建自定义按钮的步骤:1. 打开VBA编辑器同样地,首先打开Office应用程序,按下Alt + F11打开VBA编辑器。
2. 选择宿主工具栏在VBA编辑器中,点击菜单栏上的“工具”选项,然后选择“自定义工具栏”进行编辑。
你也可以通过右键单击任何现有工具栏上的空白区域,选择“自定义...”来进行编辑。
3. 添加按钮在自定义工具栏编辑模式下,选择要放置按钮的位置,然后右键单击,选择“定制对话框...”来打开按钮定制对话框。
用进行UGNX二次开发山东理工大学.精密模具实验室C#二次开发步骤也如此,基本一个样。
站在开发而非用户需求的角度UG二次开发主要分为三个方面:菜单工具条的定制、对话框、dll或者exe程序。
咱们的主要用dll方式,因为需要交互操作。
1:菜单定制:打开D:\UGS\NX5.0\UGII\ugii_env.dat 搜索UGII_USER_DIR,添加一行如下图所示的文字UGII_USER_DIR=D:\UGS\NX5.0\NXCAPP 注意,前面不要有#号,这是注释的符号。
在UGS\NX5.0目录下建立一个目录NXCAPP,在NXCAPP下建立两个子目录startup和apllication1.创建目录并配置环境变量(1)自定义创建。
创建一个文件夹如D:\UG_OPEN, 在此文件夹下创建二级文件夹D:\UG_OPEN\APPLICATION和D:\UG_OPEN\STARTUP。
打开UG安装目录下的UGII中ugii_env.dat文件,修改UGII_USER_DIR下的路径,如UGII_USER_DIR=D:\UG_OPEN,并去掉前面的“#”。
(2)第三方创建。
找到UG安装目录下的UGALLIANCE下的VENDOR文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_VENDOR_DIR前面的“#”去掉。
(3)系统自己创建。
找到UG安装目录下的UGALLIANCE下的SITE文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_SITE_DIR前面的“#”去掉。
这三种方法的区别在于系统启动时加载的顺序不同,依次为site,vendor和用户自己定义的。
Application主要存放dlg文件,所谓dlg文件就是用UGNX的UIStyler编辑出来的对话框文件。
概述用户工具是一种允许您将通常执行的操作隔离到一个位置的定制工具。
用户工具可启动菜单项、宏、Open C 和C++ API 以及Open GRIP 程序和其他用户工具。
每个用户工具都由一个.utd 文件创建。
NX 提供一个模板.utd 文件,您可以修改该模板文件来创建您的用户工具。
基本的UTD 文件包含一个文件头块或工具条文件头块。
用户工具对话框还可包含多个图标资源板块、一个列表框块和多个按钮资源板块。
用户工具工具条可包含一个图标资源板块,这是单独的一行图标。
本文将重点介绍用户工具对话框。
加载在NX 会话期间加载用户工具1. 选择首选项→用户界面来打开用户界面首选项对话框。
2. 选择用户工具选项卡。
“用户工具”页上的列表框显示NX 中当前加载的所有用户工具。
3. 选择加载按钮。
这会打开加载工具文件对话框,允许您加载任何定制 .utd 文件。
4. 选择一个用户工具定义(utd) 文件,然后单击确定。
在NX 启动期间加载用户工具custom_dirs.dat 文件中包含的目录startup下自动加载对话框用户工具对话框在外观上与标准NX 对话框类似。
它包含用来放置定制构建图标、排列成资源板格式的操作按钮和列表框的区域。
位于底部的是标准导航按钮(自动隐藏、确定、应用和取消)。
对于每个图标、动作按钮以及列表框项目,都可以关联菜单项、宏、Open C 和C++ API 以及Open GRIP 程序,或用户工具。
当单击按钮或双击用户工具对话框中的列表项时,NX 启动关联的可执行文件或宏。
可以使用用户工具对话框执行菜单项、宏、Open C 和C++ API 以及Open GRIP 程序,和其他用户工具。
还可以在宏内部访问Open GRIP 和Open C 以及C++ API 程序。
对话框界面示例用户工具对话框还可包含多个图标资源板块、一个列表框块和多个按钮资源板块。
源码示例以“铣削加工”对话框为例,其utd源文件内容为TITLE 铣削加工VERSION 2!OPTION DISMISS ON!OPTION TOOLBARBUTTONSCOLUMNS 1NAME 加工坐标系TYPE MENU_BUTTONACTION UG_DRAFT_DRW_MODIFYNAME 确认、验证TYPE UFUNACTION E:\workSpace\UserProjects\SysApp\utd\YzhTcBrowse_Test.dllLISTLABEL 列表框SIZE 3NAME 选择毛坯TYPE GRIPACTION ${UG_DRAFTWIZARD_DIR}\grip\edit_drawing_size.grxNAME 选择部件TYPE GRIPACTION ${UG_DRAFTWIZARD_DIR}\grip\new_drawing_part.grxNAME 选择加工区域TYPE GRIPACTION ${UG_DRAFTWIZARD_DIR}\grip\new_drawing_asm.grxNAME 区域分割TYPE MENU_BUTTONACTION UG_PREFERENCES_DRAFTINGNAME 生成操作几何体TYPE MENU_BUTTONACTION UG_PREFERENCES_DRAFTING关键字说明头文件强制性关键字文件头块包含基本UTD 文件的强制性关键字。
vb通用对话框名词解释概述说明以及解释1. 引言1.1 概述在软件开发中,对话框是一种常见的用户界面元素,用于与用户进行交互和获取输入。
VB通用对话框是一种基于Visual Basic编程语言的对话框类型,具有广泛的应用领域和重要性。
本文将详细介绍VB通用对话框的概念、重要性、应用场景以及常见名词解释和功能解析。
此外,还将提供实际操作指南与技巧,并展望VB通用对话框未来可能的发展趋势。
1.2 vb通用对话框概念说明VB通用对话框是使用Visual Basic编程语言开发的一种标准化对话框。
它为开发人员提供了一套预定义的、可直接调用和使用的界面组件,以便更快速地构建用户友好的应用程序界面。
通过使用VB通用对话框,开发人员可以轻松地创建窗体、按钮、文本框等基本控件,并实现与用户的交互。
它提供了丰富的功能库和方法,使得开发过程更加高效和便捷。
1.3 目的本文旨在帮助读者全面了解VB通用对话框在软件开发中的重要性和作用。
通过介绍其应用场景以及常见名词解释和功能解析,读者可以更好地理解如何使用VB通用对话框构建用户友好的界面和实现与用户的交互。
此外,本文还提供了实际操作指南与技巧,帮助读者掌握基本的VB通用对话框的创建和使用方法。
最后,本文还展望了VB通用对话框未来可能的发展趋势,旨在激发读者对该领域的兴趣并为其未来的研究或应用提供参考。
2. VB通用对话框的重要性和应用场景2.1 为什么需要VB通用对话框:VB通用对话框是一个在软件开发中非常重要的工具,它可以提供给用户一个交互界面,通过该界面用户可以进行各种操作和输入。
VB通用对话框的存在使得软件开发更加高效和便捷,因此它成为了不可或缺的一部分。
2.2 VB通用对话框在软件开发中的作用:VB通用对话框可以帮助程序员创建各种功能丰富的用户界面。
它提供了一系列常见控件,如按钮、文本框、复选框等,以及与这些控件交互的方法和属性。
使用VB通用对话框,开发者可以快速创建一个简单易用、美观大方的用户界面,并将其与应用程序逻辑进行连接。
专业课程实验报告课程名称: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 : 定义应用程序的入口点。
MFC使用教程第一部分:MFC简介Visual C++ 不仅仅是一个编译器。
它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的C++ 来开发出专业级的Windows 应用程序。
为了能充分利用这些特性,你必须理解C++ 程序设计语言。
掌握了C++,你就必须掌握Microsoft 基本类库(MFC) 的层次结构。
该层次结构包容了Windows API 中的用户界面部分,并使你能够很容易地以面向对象的方式建立Windows 应用程序。
这种层次结构适用于所有版本的Windows 并彼此兼容。
你用MFC 所建立的代码是完全可移植的。
简单介绍MFC的基本概念和术语以及事件驱动程序设计方法。
输入、编译和运行一个简单的MFC程序。
第二部分中将详细解释这些代码。
第三部分讨论了MFC控件和如何定制它们。
什么是MFC?如果你要建立一个Windows 应用程序,应该如何下手?好的开端是从设计用户界面开始。
首先,你要决定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象。
Windows 用户界面有一些标准的控件,如按钮、菜单、滚动条和列表等,这对那些Windows 用户已经是很熟悉了。
要记住的是,作为程序员必须选择一组控件并决定如何把它们安排到屏幕上。
传统上,你需要在纸上做一下用户界面的草图,直到对各元素感到满意为止。
这对于一些比较小的项目,以及一些大项目的早期原型阶段是可以的。
下一步,是要实现代码。
为任何Windows 平台建立应用程序时,程序员都有两种选择:C 或C++。
使用C,程序员是在Windows 应用程序界面( API ) 的水平上编写代码。
该界面是由几百个 C 函数所组成,这些函数在Windows API 参考手册中都有介绍。
对于Windows NT, API 被称为"Win32 API",以区别于其用于Windows 3.1的16位API, Microsoft 也提供了C++ 库,它位于任何Windows API 之上,能够使程序员的工作更容易。
三种菜单编程实现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方法。
2.5 ADAMS 软件的二次开发ADAMS 具有很强的二次开发功能,包括ADAMS/View 界面的用户化设计,利用.cmd语言实现自动建模和仿真控制,通过编写用户子程序满足用户的某些需求,甚至可以拓展ADAMS 的功能。
2.5.1 界面的二次开发1、定制菜单选择Tools/Menu/Modify 命令可以打开菜单编辑器窗口。
在默认情况下,菜单编辑器窗口中显示的是描述ADAMS 标准菜单的菜单文件,用户可以修改该菜单文件得到自己所需要的菜单。
菜单文件实际上是用解释性语言编制的程序段,因此,要想定制自己所需的菜单,必须了解编制残单文件的语法规则。
下面介绍该解释性语言的编程语法。
菜单对象有四种类型:菜单、按钮或图标按钮、开关按钮和分割线,分别用关键词MENUn、BUTTONn、TOGGLEn 和SEPARATORn 定义。
各菜单对象的参数含义如下:*n 是从1 到10 之间的整数,通常为1、2、3,它定义了对象在菜单中出现的级别。
Level1 表示第一级。
例如,MENU1 出现在菜单栏,BUTTON2 出现在MENU1 的之中。
MENU菜单后面的n 是必须要的,而对于其他的对象则为可选项。
如果你忽略级别,ADAMS/View 将默认该对象属于最后一个MENU。
你的菜单项可达到10 级,在菜单中你可以按你的需要尽可能多的按钮。
*lable 是出现在菜单中的文本。
对于图标按钮,你可以指定图标的名字,或者其他图形格式文件。
在Windows 中,图标名字为bitmap(.bmp)格式的文件名字。
(1)MENU 的创建可以创建多级的菜单,第一级菜单为MENU1,出现在菜单条上,低一级的菜单如MENU2 和MENU3 出现在层叠的下拉菜单中。
语法:MENUn TITLENAME=nameHELP=Help参数:n 为整数值,表明该菜单在菜单条中出现的层数。
n=1 时菜单出现在菜单栏上,n≥2 时菜单出现在下拉菜单中。
深⼊浅出提⽰对话框 ⼀.输⼊对话框: 制作输⼊对话框相对信息提⽰框来相对简单,在Visual Basic .Net,输⼊对话框是通过InputBox函数来完成的。
以下是InputBox函数在Visual Basic .Net中的语法:Public Function InputBox (ByVal Prompt As String ,Optional ByVal Title As String = "" , _Optional ByVal DefaultResponse As String = "" ,Optional ByVal XPos As Integer = -1 , _Optional ByVal YPos As Integer = -1) As String 参数说明: Prompt: 必选项。
以消息形式显⽰在对话框中的String表达式。
Prompt的最⼤长度⼤约为1024个字符,具体取决于所⽤字符的宽度。
如果Prompt 中包含多个⾏,则可在各⾏之间⽤回车符(Chr(13))、换⾏符(Chr(10))或回车换⾏符的组合(Chr(13)&Chr(10))分隔各⾏。
Title: 可选项。
显⽰在对话框标题栏中的String表达式。
如果省略Title则将应⽤程序名放在标题栏中。
DefaultResponse: 可选项。
显⽰在⽂本框中的String表达式,在没有提供其他输⼊时作为默认响应。
如果省略DefaultResponse,则显⽰的⽂本框为空。
XPos: 可选项。
数值表达式,以缇为单位指定对话框的左边与屏幕左边的距离。
如省略XPos,对话框将⽔平居中。
YPos: 可选项。
数值表达式,以缇为单位指定对话框的上边与屏幕上边的距离。
如果省略ypos,则对话框位于在屏幕垂直⽅向距下边缘⼤约三分之⼀处。
以下就是在Visual Basic .Net中使⽤InputBox函数制作如图01所⽰对话框的具体代码:Dim message , title , defaultValue As StringDim myValue As Objectmessage = "请输⼊数值,数值在1-3之间!" '设定对话框提⽰信息title = "输⼊提⽰框!" '设置对话框标题defaultValue = "1" '设定对话框中缺省的数值myValue = InputBox ( message , title , defaultValue , 100 , 100 )'设定对话框在左上⾓坐标位于桌⾯(100,100)区域显⽰图01:通过InputBox函数制作的提⽰对话框⼆.信息对话框简介: 由于信息对话框使⽤的频率较⾼,并且结构相对复杂,所以本⽂的重点就是介绍在Visual Basic .Net各种类型信息对话框的制作⽅法。
高级网络编程技巧使用ncurses和dialog命令进行终端界面设计高级网络编程技巧:使用ncurses和dialog命令进行终端界面设计绪论随着互联网技术和网络编程的发展,终端界面设计成为了实现用户友好交互和提升系统功能的重要方式。
本文将介绍使用ncurses和dialog命令进行高级网络编程技巧的终端界面设计。
1. 理解ncurses和dialog命令1.1 ncurses命令ncurses是一个通用的终端界面编程库,用于在终端窗口中创建丰富的文本用户界面。
它提供了一套函数和数据结构,用于终端屏幕上的各种操作,如文本输入输出、图形绘制、颜色控制等。
1.2 dialog命令dialog是一个在终端中生成对话框的工具包,它结合了ncurses 库,可以方便地创建各种类型的交互式对话框,包括菜单、输入框、复选框等。
2. 使用ncurses进行终端界面设计在进行终端界面设计时,可以通过ncurses库提供的函数来控制光标位置、文本颜色、窗口绘制等,以实现用户友好的界面交互。
2.1 窗口和屏幕操作可以使用ncurses提供的函数创建和操作窗口,通过控制窗口的大小和位置来实现界面布局的灵活性。
2.2 文本输出和输入使用ncurses库可以通过函数调用在终端上输出各种文本内容,并可以设置文本的颜色、字体样式等。
同时,还可以利用ncurses提供的输入函数接收用户的键盘输入。
2.3 图形绘制和动画效果ncurses库提供了函数来实现基本的绘图功能,包括绘制直线、矩形、圆形等。
此外,还可以利用ncurses提供的定时器函数来实现动画效果,增强用户界面的交互性。
3. 使用dialog命令创建对话框除了使用ncurses库进行界面设计外,还可以使用dialog命令来快速创建各种类型的交互式对话框,以提供更方便的界面交互方式。
3.1 菜单和选择框dialog命令可以生成菜单和选择框,用户可以通过键盘或鼠标来进行选择操作。
提高Shell脚本交互性的高级技巧使用select和dialog实现菜单Shell脚本是一种用于自动化任务和批处理的脚本语言,具有很好的灵活性和可定制性。
然而,在编写Shell脚本时,我们经常面临一个问题:如何提高脚本的交互性,使用户能够更方便地与脚本进行交互和选择操作。
本文将介绍两种高级技巧:使用select和dialog实现菜单来提高Shell脚本的交互性。
一、使用select实现菜单select是Shell脚本中的一种循环结构,用于生成菜单供用户选择。
下面是一个使用select实现菜单的示例代码:```bash#!/bin/bashPS3="请选择一个选项:"options=("选项一" "选项二" "选项三" "退出")select opt in "${options[@]}"docase $opt in"选项一")# 在这里编写选项一的处理代码;;"选项二")# 在这里编写选项二的处理代码;;"选项三")# 在这里编写选项三的处理代码;;"退出")break;;*)echo "无效的选项";;esacdone```在上述示例代码中,我们使用select生成了一个菜单,用户可以通过键入对应的数字选择菜单中的选项。
每个选项对应一个处理代码块,在用户选择对应的选项后,对应的处理代码块会被执行。
如果用户选择退出选项,循环结束,脚本退出。
通过使用select实现菜单,我们可以让用户更直观地选择脚本的不同功能,提高脚本的交互性和易用性。
二、使用dialog实现菜单dialog是一个在Shell脚本中使用的对话框工具,可以用于创建各种类型的交互式对话框,包括菜单、输入框、消息框等。
下面是一个使用dialog实现菜单的示例代码:```bash#!/bin/bashdialog --menu "请选择一个选项:" 10 40 4 1 "选项一" 2 "选项二" 3 "选项三" 4 "退出" 2> choice.txtret=$?if [ $ret -eq 0 ]; thenchoice=$(cat choice.txt)case $choice in1)# 在这里编写选项一的处理代码;;2)# 在这里编写选项二的处理代码 ;;3)# 在这里编写选项三的处理代码 ;;4)echo "退出菜单";;*)echo "无效的选项";;esacelseecho "操作取消"firm choice.txt```在上述示例代码中,我们使用dialog的--menu选项创建了一个菜单对话框,供用户选择。
第五章对话框和常用控件对话框是Windows应用程序中最重要的用户界面元素之一,是与用户交互的重要手段,在程序运行过程中,对话框可用于扑捉用户的输入信息或数据。
对话框是一个特殊类型的窗口,任何对窗口进行的操作(如:移动、最大化、最小化等)都可在对话框中实施,一般来说,在对话框中通过各种控件(如:按钮、编辑框、列表框、组合框等)来和用户进行交互。
控件是在系统内部定义的用于和用户交互的基本单元。
一、对话框的使用Visual C++提供的对话框编辑器能“可视”地进行设计、编辑,并可用ClassWizard为对话框从CDialog基类中派生一个类,MFC的CDialog类封装了用于对话框的显示、关闭等操作的许多功能函数,例如:DoModal函数用来显示模式对话框并返回用户操作的结果。
1、模式对话框(为186附加举例页)所谓模式对话框是指,当对话被弹出时,用户必须在对话框中进行相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行。
平常我们所见到的对话框大多是模式对话框。
例:模式对话框(通过菜单命令弹出)1)建一个单文档(SDI)应用程序2)创建对话框模板Insert→Resource→选中Dialog→单击New拖过一个静态文本,鼠标对准它,按右键点properties改标题为“新建模式对话框”。
3)鼠标右键对准对话框的任何位置单击,选择properties选项,设置ID为IDD_MYDIALOG 4)给对话框创建类双击新建对话框的任何位置,单击OK,写类名为“CMyDlg”,保证”CDialog”作为该类的基类。
5)创建菜单命令:a)打开资源编辑器的菜单项Menub)双击IDR_MAINFRAMEc)双击右边空白菜单,点开pop_up(让它是空白),在名字处写”弹出对话框(&A)”,ID 处写ID_PUPDIALOG6)将菜单命令连接到主框架程序中,完成ID_PUPDIALOG的消息映射:View→ClassWizard→保证Class name里是CMainFrame,在ObjectIDs里找到ID_PUPDIALOG点黑→Messages里(右边)点COMMAND建立主框架对象方法并加代码:void CMainFrame::OnPupdialog(){ CMyDlg MyDlg;MyDlg.DoModal(); //DoModal()是CDialog类成员函数,通过调用该//函数将显示对话框。
菜单及工具栏详细说明1 菜单栏Borland C++ Builder集成开发环境的菜单栏与许多Windows应用程序开发环境相类似,其为用户提供了编辑、调试、管理应用程序等功能。
菜单栏的视图如图3-1所示。
图1 Borland C++ Builder菜单栏1.1 File菜单File菜单中的菜单项主要是对文件的操作,主要包括新建、打开、保存、打印等功能。
下面将各菜单项的主要功能列出,如表1 所示。
表1 File菜单项的主要功能列表1.2 Edit菜单Edit菜单中的菜单项主要是用于编辑。
其包括撤销、重做、复制、粘贴等常用命令,它还有调节对象的对齐方式、尺寸等命令。
各菜单的功能描述如表2所示。
表2 Edit菜单项功能列表1.3 Search菜单Search菜单的主要功能是在代码编辑环境实现查找、替换和定位等功能。
Search菜单中各菜单项的主要功能描述如表3所示。
表3 Search菜单项功能列表1.4 V iew菜单View菜单中的菜单项主要用于打开或关闭C++ Builder中的各个工具软件,比如工具管理器,对象监测器、调试窗口以及断点设置等。
View菜单中各菜单项的主要功能描述如表4所示。
表4 V iew菜单项主要功能列表1.5 Project菜单Project菜单中的菜单项主要用于实现管理工程文件、编译、连接和创建应用程序等功能。
Project菜单中各菜单项的主要功能描述如表5所示。
表5 Project菜单项主要功能列表1.6 Run菜单Run菜单中的菜单项主要有运行、跟踪、查看和断点设置等功能,Run菜单项的主要功能描述如表6所示。
表6 Run菜单项的功能列表1.7 Component菜单Component菜单中的菜单项主要包括创建新组件、安装组件等功能。
Component菜单各菜单项主要功能描述如表3-7所示。
表7 Component菜单项的功能列表1.8 Database菜单Database菜单中菜单项的主要功能包括创建数据库窗体、编辑和浏览数据库中的数据等。
三种菜单编程实现
1.新建插件工程mon。
2.添加依赖插件
3.新建包mon.handler。
4.新建类NewFolderHandler,并继承AbstractHandler
5.在插件根节点新建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方法。
其中核心代码如下:
5.新建NewFolderCustomOperation类,并继承AbstractAIFOperation。
重写executeOperation()
方法。
创建文件夹的逻辑操作都在该类中进行了实现,实现代码如下:
6.在新建文件夹Handler类中添加代码,进行Action的调用,调用代码如下:
8. 通过Eclipse启动TC,进行创建文件夹的测试,效果如下:。