PB9以下版本实现窗口渐进淡出的方法!解决方案
发布时间:2011-06-29 20:31:33 文章来源:www.iduyao.cn 采编人员:星星草
PB9以下版本实现窗口渐进淡出的方法!!
1、先打开记事本,复制粘贴下面所有代码进去, 另存为:w_transparentcy.srw
2、在PB9里import w_transparentcy.srw
3、run一下,看效果爽不爽。 要使用就继承。。。。
$PBExportHeader$w_transparentcy.srw
$PBExportComments$渐进淡出效果
forward
global type w_transparentcy from window
end type
end forward
global type w_transparentcy from window
integer width = 2533
integer height = 1408
boolean titlebar = true
string title = "test"
boolean controlmenu = true
boolean minbox = true
boolean maxbox = true
boolean resizable = true
long backcolor = 67108864
string icon = "AppIcon!"
boolean center = true
event ue_open ( )
end type
global w_transparentcy w_transparentcy
type prototypes
Function ulong SetLayeredWindowAttributes(ulong hWnd , long crKey , Character bAlpha ,long dwFlags) library"user32.dll"
FUNCTION ulong SetWindowulong(ulong hwnd,ulong nIndex,ulong dwNewLong) LIBRARY "user32.dll" ALIAS FOR "SetWindowLongA"
end prototypes
type variables
ulong GWL_WNDPROC = -4
ulong GWL_HINSTANCE = -6
ulong GWL_STYLE = -16
ulong GWL_EXSTYLE = -20
ulong GWL_USERDATA = -21
ulong GWL_ID = -12
ulong DWL_MSGRESULT = 0
ulong DWL_DLGPROC = 4
ulong DWL_USER = 8
ulong WS_EX_LAYERED = 524288
long LWA_COLORKEY = 1
long LWA_ALPHA = 2
long transparentcy=0
end variables
forward prototypes
public subroutine of_setalpha (integer tspcy)
end prototypes
event ue_open();do until transparentcy =255
transparentcy ++
of_setalpha(transparentcy)
sleep(0.45)
loop
end event
public subroutine of_setalpha (integer tspcy);//设置窗口新的扩展属性
SetWindowulong(Handle(This), GWL_EXSTYLE, WS_EX_LAYERED)
//设置透明度
SetLayeredWindowAttributes(Handle(This), rgb(0,255,0), Char(tspcy), 2)
end subroutine
on w_transparentcy.create
end on
on w_transparentcy.destroy
end on
event closequery;do until transparentcy =0
transparentcy --
of_setalpha(transparentcy)
sleep(0.45)
loop
end event
event open;of_setalpha(0)
postevent ('ue_open')
end event
------解决方案--------------------
顶,支持技术共享
------解决方案--------------------
上次给客户做了一个小功能也用到了淡入淡出加消隐。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
pb里关于数据窗口继承的问题
我的pb里设了一个母数据窗口,规定了样式,颜色,怎么让其他数据窗口都继承这个母dw,不用重复设颜色,样式呢
...
-
如何制作PB中查找的窗口,可以变透明的,而且还始终在最上面的窗口?
如何制作PB中查找的窗口,可以变透明的,而且还始终在最上面的窗口?
-...
-
powerbuilder 控件句柄转换,求教!!
问题:
比如我通过handle取得了一个button的句柄。
那么我能否根据这个句柄的值,又反操作还原这...
-
TAB控件能不能设置成不是3D的?
就类似于多行编辑控件的Border设置为false,变成平面的效果。找不到在哪里设置
------解决方案-----...
-
???新增按钮的问题
设置一个window窗口有个“新增”按钮,如何做出点击新增按钮,编号(varchar2类型)自动+1,点一下变成2,然后录完信息,再打开...
-
如何用回车键enter获得焦点
一个数据录入窗口,如何输完一个数据,按回车键跳到下一个要输入数据的地方 就和tab一样
------解决方案...
-
ole控件 Microsoft Web Browser
我用Microsoft Web Browser这个控件写了一个浏览器 但是不能运行脚本 对于那些需要在本地运行...
-
PB如何做透明的文本
我现在工作空间,应用程序,窗口都创建好了。也加了文本“用户名”,从网上看了要创建可视用户对象,粘贴了代码。但...
-
mdi窗口的sheet从normal变为max时闪烁
我的mdi的sheet默认打开后最大化,在sheet的resize事件中构造着把所有控件按比例伸缩,但每次...
-
如何使getfileopenname函数打开的窗口居中?
如何使getfileopenname函数打开的窗口居中?谢谢
------解决方案--------------------
...