在PB下实现圆形的窗口


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"

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus