如何在PB下实现圆形的窗口
API调用,最近看了一些API的资料,收益挺大的,小竹....
首先在窗口定义下列局部外部函数(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"