director使用mui xtra创建对话框

2016-03-18 15:55 9 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享director使用mui xtra创建对话框吧。

【 tulaoshi.com - 设计软件 】


  Director中非常有用的一个Xtra是MUI Dialog Xtra,这是D自代的对话框生成器。在6.0版本中就有这个Xtra了,但是很奇怪大多开发者都只应用了它最基本的特性,如果他们能否充分利用MUI Xtra的话,那么,你就可以自己定义个完全响应的对话框,而不是去用很废内存和磁盘空间的MIAW来实现。你可以去任意定制它,并且你可以完全根据你或者你的客户的需要来定义这个对话框如何去响应。可以说,你可以完全定制自己所需要的对话框,只有少数例外,那么这篇文章就来教你如何开始。



(你可以使用这些Lingo程序来生成特定平台的对话框)

  对话框种类

  你可以用MUI Xtra来产生两种对话框:“标准”对话框和“常规应用”对话框。“标准”类对话框由标准警告框、打开和保存对话框组成。Macromedia已经将这种对话框成为“系统对话框”,他们还添加了一个输入URL的对话框。毫无疑问,我们开发人员都会经常使用这种标准对话框,因为它们是已经完全定义好了的。我们只需要定义很少的一些参数,很少的几行lingo程序就可以创建他们,你只需要定义个属性列表来配置一下对话框,就可以用alert(),fileopen(),filesave(),getURL()方法来调用。关于使用标准警告对话框请参考
Multimedia Handyman artical。

  如果这四种对话框都不能满足你的要求的话,你就需要创建一个“常规应用”的对话框。这种对话框为开发者提供了更为广泛的控制,包括内容,版式设计,方法。如果你所需要的对话框包含一组单选按钮(radio buttons)、多选按钮(checkboxes)、弹出列表框、文本输入框、文本标签、滑块、按钮或者图形,那你就需要用“常规应用”对话框来定制。当然,你可能要花费一定时间来创建他们,这由你的对话框复杂程度决定。所用的Lingo语言也很直观。



(为你的程序添加一个选项对话框)

  你可以这么想,用MUI Xtra来创建一个“标准”对话框就好像应用MUI的第一层,而创建“常规应用”对话框就好像应用MUI的第二层,稍微费力一些,但是仍然需要“第一层”应用的基础。

  MUI 第二层:为对话框定制数据库

  几年前我用Excel的宏语言和对话框编辑器来为我的第一个程序创建对话框,当我看到它运行的时候,我觉得,用一个由数字和字符串组成的数据库来描述对话框,是很不错的主意(翻译可能有错)。我所做的就是为对话框写一些描述信息,然后嵌入我的程序中,而对话框就是由这些数据来驱动的。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/shejiruanjian/)

MUI Xtra也允许你这么做:建一个数据库来描述对话框,然后在程序中运行,Lingo中能实现这个功能的就是属性列表,完全不需要那种由横线和竖线组成的表格。本质上来讲,你要做的就是写一个属性列表来描述对话框,然后告诉MUI Xtra来显示它。

  OK,下面这些就是你大概要做的步骤:

  1,创建一个MUI Xtra实例。
  2,建立一个属性列表来描述对话框窗口。
  3,建立一个属性列表来描述对话框内容。
  4,显示对话框。

  你可以将这些步骤全部写在一个电影脚本的句柄里。下面我们逐个步骤来讲。

  第一步:建立MUI实例

  这一步是应用Xtra最普通的步骤,但是在这里,你应该将这个MUI实例声明为全局变量,用new()方法来创建一个实例,然后用objectp()来检查是否创建成功:
-- 1. Create a MUI Xtra instance
global oDialog

if not( objectP( oDialog )) then
  
  oDialog = new( xtra "MUI" )
  if not( objectP( oDialog )) then
    oDialog = 0
    alert "ERROR: Xtra instance failure."
    exit
  end if
  
end if

  如果失败的话,可能是因为你的Xtras文件夹中没有这个Xtra,从你的Director Xtras目录中拷贝一个放在你的Xtras目录中,就OK了。

  当你创建实例之后,它自己会创建一些默认的属性列表来描述你的对话框。你可以用getWintuLaoShi.comdowProplist(),getItemproplist(),getWidgetlist()来获得这些列表。这些方法每次返回的列表都是相同的,你所需要做的就是根据你的需要来改变这些列表。我们马上开始。

  第二步:设置窗口属性。

  告诉MUI你所需要的对话框窗口是一个简单的、分两部分的。第一部分,需要包含一个用getWindowPropList()获得默认的窗口的属性列表。这部分是所有对话框都相同的,但是第二部分将根据具体对话框来改变一些属性。在第二部分,你需要根据你的需要来改变第一部分那个属性列表:

lsWindow = oDialog.getWindowPropList()


After this line is executed, the value of lsWindow is

[ #type: #normal,
  #name: "window",
  #callback: "nothing",
  #Mode: #Data,
  #xPosition: 100,
  #yPosition: 120,
  #width: 200,
  #height: 210,
  #modal: 1,
  #toolTips: 0,
#closeBox: 1,
  #canZoom: 0 ]

  再重申一次,getWindowProplist()方法每次都得到相同的结果,如果你不想改,就不需要改。你可以用getWindowPropList()很容易的获得窗口的默认状态,所以你不需要每次都重新建立这个列表。现在,你所以需要的就是根据你的需要更新这个列表。

lsWind

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/shejiruanjian/)1234下一页

来源:https://www.tulaoshi.com/n/20160318/1888551.html

延伸阅读
标签: windows 操作系统
用户在Windows下与打开文件对话框打交道的次数一定不少,我们在一些软件的使用过程中,免不了要使用Windows的标准打开对话框来打开文件。但是,我们在使用Windows 2000打开文件对话框是还有一些小小的技巧,充分地利用这些小技巧,能够提高我们使用计算机的效率,同时还可以达到一些意想不到的功能。 1、快速加入特定的文件 ...
1、意图 有时候我们希望将非模态窗口显示为模态窗口。比如在IE的“文件”菜单下选择“打印”,弹出的“打印”对话框就是非模态的(也许我们不太清楚Microsoft的设计意图,一般来说这里的“打印”对话框应该是模态的)。这种情况下如何将“打印”对话框显示为模态的呢(这个对话框对我们来说是Black Box)? 2、简单实现 简单...
如何有效地使用对话框 译者:徐景周(原作:VGirish) Q:如何在对话框中加入工具条 在 OnInitDialog 中加入下面代码: BOOL CYourDlg::OnInitDialog(){ CDialog::OnInitDialog(); // Create the toolbar. To understand the meaning of the styles used, you // can take a l...
自绘对话框 作者:Alon 下载示例源代码 闲来无事,写了一个简单的对话框界面,希望给需要的朋友有所帮助。 界面如下: 界面很单调,我只是想说明一下如何实现界面的自绘。如果有需要,也可以绘制更复杂漂亮的界面。 程序的实现也不复杂,接下来就跟着我一步一步做。...
标签: autocad教程
在执行AutoCAD命令的过程中,用户与AutoCAD之间主要是通过文本窗口和对话框来进行人机交互。 2.3.1 使用文本窗口 AutoCAD的文本窗口与AutoCAD窗口相对独立,用户可通过如下方式来显示该窗口: (1) 在AutoCAD中按F2键 (2) 选择菜单【View(视图)】→【Display(显示)】→【Text Window(文本窗口)】 (3) 在命令...

经验教程

968

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部