远博数学网,远博科技,袁斌,ybsxw,yuanbin,免费课件下载,flash课件 远博数学网,远博科技,袁斌,ybsxw,yuanbin,免费课件下载,flash课件
您现在的位置: 远博数学网 >> 课件学堂 >> Authorware教程 >> 正文
  Authorware中不规则窗口的实现       ★★★★ 【字体:
Authorware中不规则窗口的实现
作者:佚名    教程来源:www.authorware.cn    点击数:    更新时间:2006-4-23    

看腻了中规中矩的窗口,怎么办?
  这还不简单,换新的呗!
  在Authorware中要想创建特殊的不规则窗口,看上去似乎很难。如果我说,半小时之后您也能做得到,这似乎不可思议。可是事实就是如此!不信,您不妨试一试。以下给出笔者在Win98、Authorware4.0中实现不规则窗口的具体过程,其中倒是需要用上Windows动态链接库文件user32.dll以及gdi32.dll中的几个函数,它们是:SetWindowRgn、CreateRectRgn、CreateRoundRectRgn、CreateEllipticRgn。
  OK!Enjoy it!(^_^)
  一、启动您的Authorware4.0或者Authorware 5 Attain。
  二、新建一个文件(Authorware会自动把它取名为Untitled)。
  三、载入所需的函数。
1.单击快捷工具栏中的Functions按钮,打开“Functions”对话框。
2.单击“Functions”对话框里“Category:”组合框的向下箭头,在弹出的列表框中,单击选中“[Untitled]”项。
3.单击Load function按钮,这时会出现一个“Load function”对话框。
4.在“文件名(N):”文本框里输入“c:\windows\system\gdi32.dll”(不要输入“”),将会弹出如下的对话框。
5.“Function Name:”处输入:“CreateEllipticRgn”,
“Arguments:”处输入:“long,long,long,long”,
“Return:”处输入:“long”,
“Description:”处输入:“CreateEllipticRgn(Left,Top,Right,Bottom)”。
6.单击按钮,可以在对话框的底部看到提示:“Successfully Loaded CreateEllipticRgn()”,说明函数CreateEllipticRgn()已经成功地载入Authorware应用程序了(实际上,函数并未真正载入应用程序,而只是有一条链接被连接到了包含代码的文件中)。
7.然后,“Function Name:”处输入:“CreateRectRgn”,
“Arguments:”处输入:“long,long,long,long”,
“Return:”处输入:“long”,
“Description:”处输入:“CreateRectRgn(Left,Top,Right,Bottom)”。
  单击按钮,可以在对话框的底部看到提示:“Successfully Loaded CreateRectRgn()”,说明已经成功地载入了函数CreateRectRgn()。
8.在“Function Name:”处输入:“CreateRoundRectRgn”,
“Arguments:”处输入:“long,long,long,long,long,long”,
“Return:”处输入:“long”,
“Description:”处输入:“CreateRoundRectRgn(Left,Top,Right,Bottom,Width,Height)”。
  单击按钮,可以在对话框的底部看到提示:“Successfully Loaded CreateRoundRectRgn()”,说明函数CreateRoundRectRgn()已经被成功地装载了。
9.单击按钮。在“Load function”对话框的“文件名(N):”文本框里输入“c:\windows\system\User32.dll”。
10.在弹出的对话框里,
“Function Name:”处输入:“SetWindowRgn”,
“Arguments:”处输入:“long,long,long”,
“Return:”处输入:“long”,
“Description:”处输入:“SetWindowRgn(hWnd,Rgn,Bool)”。
11.单击按钮,可以在对话框的底部看到提示:“Successfully Loaded SetWindowRgn()”,说明函数SetWindowRgn()已经被成功地载入Authorware应用程序。
12.单击按钮。在“Load function”对话框中,单击“取消”按钮。至此,所需的函数已经全部装载完毕。
  四、保存文件为:“不规则窗口.a4p”。
  五、通过简单地编程,轻易实现“椭圆形窗口”、“矩形窗口”、“圆角矩形窗口”。
  以下是图标中的代码以及具体说明:
  在“变量赋值”图标中,
hWnd:=WindowHandle----将当前的应用程序窗口句柄WindowHandle赋值给变量hWnd。
Bool:=True----将变量Bool赋值为True。
Left、Top、Right、Bottom、Width、Height----分别代表不规则窗口左上角的x坐标、y坐标、右下角的x坐标、y坐标、用于产生圆角的椭圆宽度、用于产生圆角的椭圆高度( 以象素点为单位),您可以根据当前显示器的分辨率来设定相应的值。
  “椭圆形窗口”图标中,代码如下:
Rgn:=CreateEllipticRgn(Left,Top,Right,Bottom)----创建一个由参数Left、Top、Right、Bottom指定的椭圆形区域,并将该区域的句柄返回给参数Rgn。
SetWindowRgn(hWnd,Rgn,Bool)----将由参数Rgn指定的椭圆形区域设定为参数hWnd所指定的窗口。
  “矩形窗口”图标中,代码如下:
Rgn:=CreateRectRgn(Left,Top,Right,Bottom)----创建一个由参数Left、Top、Right、Bottom指定的矩形区域,并将该区域的句柄返回给参数Rgn。
SetWindowRgn(hWnd,Rgn,Bool)----将由参数Rgn指定的矩形区域设定为参数hWnd所指定的窗口。
  “圆角矩形窗口”图标中,代码如下:
Rgn:=CreateRoundRectRgn(Left,Top,Right,Bottom,Width,Height)----创建一个由参数Left、Top、Right、Bottom、Width、Height指定的圆角矩形区域,并将该区域的句柄返回给参数Rgn。
SetWindowRgn(hWnd,Rgn,Bool)----将由参数Rgn指定的圆角矩形区域设定为参数hWnd所指定的窗口。
  六、调试运行
  运行一下,点按相应的按钮,即可获得相应的不规则窗口。
  如果要想实现圆形窗口,只要令Left=Top而且Right=Bottom就可以办到。
--------------------------------------------------
  上述示例可以创建椭圆形状的窗口、圆形窗口、矩形窗口、圆角矩形窗口;您只要用图像处理软件制作相应的窗口界面,就可以轻松定制出风格独特、与众不同的展示窗口。当然您还可以自制弧形的标题条、菜单条,定制“最大化”、“最小化”、“关闭”等按钮,从而实现对窗口操纵自如。有关定制“最大化”、“最小化”、“关闭”等按钮的实现,需要用到Winapi.u32中的“ShowWindow”函数,顺带介绍如下:
   一、载入所需的Winapi函数
  1.单击快捷工具栏中的Functions按钮,打开“Functions”对话框。
  2.单击“Functions”对话框里“Category:”组合框的向下箭头,在弹出的列表框中,单击选中“[Untitled]”项。
IMG id=_x0000_i1045 alt="load.jpg (1007 字节)" src="load.jpg" height="22" width="59">  3.单击按钮,这时会出现一个“Load function”对话框。
  4.在“文件名(N):”文本框里输入“c:\authorware 4\Winapi.u32”(不要输入“”),将会弹出如下的“Custom functions in winapi.u32”对话框。
  5.从函数的下拉选项中选定“ShowWindow”函数,单击“Load”按钮。“ShowWindow”函数成功地载入Authorware应用程序。
  二、定制“最大化”、“最小化”、“关闭”等按钮
  有关按钮的外观处理,这里不再赘述;您可以视情形需要选用“Button”、“Hot spot”或是“Hot Object” 交互方式,这里,只把按钮中执行相应动作的代码给出:
“最大化”: ShowWindow(WindowHandle,3)
“最小化”: ShowWindow(WindowHandle,2)
“关闭”:Quit()

教程录入:ybsxw    责任编辑:ybsxw 
  • 上一篇教程:

  • 下一篇教程: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关教程
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    Copyright © 2003-2006 远博数学网 ™[WWW.YBSXW.COM] All Rights Reserved

     通过公安部红盾认证

    《中华人民共和国信息产业部备案编号: 湘ICP备05003174号》
    本站资源大多搜集于网络,如有侵犯您的权利请联系我们,我们将立即给予处理并删除!
    湖南省株洲市景弘中学:袁斌 QQ:39983176QQ联系我!