在PB下实现圆形的窗口

发表于:2007-06-11来源:作者:点击数: 标签:
首先在窗口定义下列局部外部函数(Local External Functions...) FUNCTION ulong CreateEllipticRgn(ulong X1,ulong Y1,ulong X2,ulong Y2) LIBRARY "gdi32.dll" FUNCTION ulong SetWindowRgn(ulong hWnd,ulong hRgn,boolean bRedraw) LIBRARY "user32.dll"

首先在窗口定义下列局部外部函数(Local External Functions...)

FUNCTION ulong CreateEllipticRgn(ulong X1,ulong Y1,ulong X2,ulong Y2) LIBRARY "gdi32.dll"

FUNCTION ulong SetWindowRgn(ulong hWnd,ulong hRgn,boolean bRedraw) LIBRARY "user32.dll"

在窗口的open事件中加上:

long hrgn

long lres

hrgn=createellipticrgn(20,20,400,400)//其中参数为左上到右下的坐标值,可修改。

lres=setwindowRgn(handle(this),hrgn,true)

//记得在窗口中放置一个按钮关闭窗口

//在窗口处放置一幅图片即可实现圆形的窗口了。

但不知如何实现任意多边形的窗口,哪位大虾可以指点一二?

查阅API函数手册中有如下函数定义,应该是用来定义多边形窗口的,但不知如何使用。

FUNCTION ulong CreateEllipticRgnIndirect(ref Rect lpRect) LIBRARY "gdi32.dll"



原文转自:http://www.ltesting.net

...