Project1

标题: [恶搞]非标准窗口。 [打印本页]

作者: 美兽    时间: 2007-3-24 00:17
标题: [恶搞]非标准窗口。
整理一下午资料,终于完毕了,顺手做了个很小的东西。

非标准规格游戏窗口。

具体思路为先创建个矩形,之后获取窗体,将其放入矩形之中。

脚本,插入main之上。

@FindWindowEX = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
@circle = Win32API.new('gdi32','CreateEllipticRgn','llll','l')
@hWnd = @FindWindowEX.call(0,0,nil,'test')
@windows = Win32API.new('user32','SetWindowRgn','lll','l')
@windows.call(@hWnd,@circle.call(10,10,640,480),1)


因为没做编码转换,测试时请将工程名改为英文,替换那个test,只做了椭圆,

询问下是否有必要做多种形状的窗口,并改为支持中文,

如果感兴趣的人多的话,我抽空做成泛用,并征询想实现的不规则图形,我尽力为之。

范例:
http://rpg.blue/upload_program/files/test_wds.rar

截图:






作者: 美兽    时间: 2007-3-24 00:17
标题: [恶搞]非标准窗口。
整理一下午资料,终于完毕了,顺手做了个很小的东西。

非标准规格游戏窗口。

具体思路为先创建个矩形,之后获取窗体,将其放入矩形之中。

脚本,插入main之上。

@FindWindowEX = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
@circle = Win32API.new('gdi32','CreateEllipticRgn','llll','l')
@hWnd = @FindWindowEX.call(0,0,nil,'test')
@windows = Win32API.new('user32','SetWindowRgn','lll','l')
@windows.call(@hWnd,@circle.call(10,10,640,480),1)


因为没做编码转换,测试时请将工程名改为英文,替换那个test,只做了椭圆,

询问下是否有必要做多种形状的窗口,并改为支持中文,

如果感兴趣的人多的话,我抽空做成泛用,并征询想实现的不规则图形,我尽力为之。

范例:
http://rpg.blue/upload_program/files/test_wds.rar

截图:






作者: 金圭子    时间: 2007-3-24 00:24
嗯,这个和用图片做外围的遮罩的主要区别是?
作者: 美兽    时间: 2007-3-24 00:27
以下引用金圭子于2007-3-23 16:24:25的发言:

嗯,这个和用图片做外围的遮罩的主要区别是?


原理不一样,windows的窗体显示原理是先建立个显示矩形,之后将内容环境放入该矩形之中进行显示形成了窗体,我是从根本上改变窗体的形状。
作者: 七夕小雨    时间: 2007-3-24 05:19
好邪恶的功能哈……
作者: 魔剑美神    时间: 2007-3-24 05:47
呵呵,好邪恶~~

恩恩~

窗口上面那点兰色的怎么去掉啊?

还有人物走出圆的话就看不到拉~~
作者: yukimura    时间: 2007-3-24 05:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: gpra8764    时间: 2007-3-24 18:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: simounF    时间: 2007-3-25 20:39
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1