VB的不规则窗体技术 我的主页上有这个代码。http://vbeasy.yeah.net 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用区域API(如CreateEllipticRgn创建椭圆区域)创建区域再用SetWindowRgn设置窗体区域CreateEllipticRgn VB声明 Declare Function CreateEllipticRgn Lib "gdi32" Alias "CreateEllipticRgn" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long 说明 创建一个椭圆,该椭圆与X1,Y1和X2,Y2坐标点确定的矩形内切 返回值 Long,执行成功则为区域句柄,失败则为零 参数表 参数 类型及说明 X1,Y1 Long,矩形左上角X,Y坐标 X2,Y2 Long,矩形右下角X,Y坐标 注解 不用时一定要用DeleteObject函数删除区域。用Ellipse API函数绘出的椭圆与该椭圆区域不完全相同,因为本函数的绘图计算不包括矩形的下边和右边 SetWindowRgn VB声明 Declare Function SetWindowRgn Lib "user32" Alias "SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long 说明 这是那些很难有人注意到的对编程者来说是个巨大的宝藏的隐含的API函数中的一个。本函数允许您改变窗口的区域。通常所有窗口都是矩形的——窗口一旦存在就含有一个矩形区域。本函数允许您放弃该区域。这意味着您可以创建圆的、星形的窗口,也可以将它分为两个或许多部分——实际上可以是任何形状 返回值 Long,执行成功为非零值,失败为0 参数表 参数 类型及说明 hWnd Long,将设置其区域的窗口 hRgn Long,将设置的区域的句柄,一旦设置了该区域,就不能使用或修改该区域句柄,也不要删除它 bRedraw Boolean,若为TRUE,则立即重画窗口 注解 为区域指定的所有坐标都以窗口坐标(不是客户坐标)表示,它们以整个窗口(包括标题栏和边框)的左上角为起点 可以去下载一个控件skin得控件 SetLayeredWindowAttributes它可以实现任意图形的界面!效率特别快! 那是Win2000新增APIWin9X下用不了! API:CREATEELLIPTICRGNSETWINDOWRGNCREATEROUNDTECT 急,为什么我的当前记录集不支持更新 任何文件类型的右键菜单中的通用操作怎样添加项目? 有关DTPicker.Month提问 如何控制MSHFlexGrid1 指向的记录和记录集rsdata 指向的记录是同一条. 各位还是去VBGOOD或百度贴吧 问问题吧 关于数据库编程,哪里有电子书下载 关于vsflexgrid的问题?在线等待 这个问题如何通过编程来实现??? 怎么让msflexgrid跟其他grid一样整行(Row)选择呢? 哪位给解释一下FORM的PAINT事件??? 请教用print双面打印的问题 请教在VB中关于SENDKEYS函数的问题。
再用SetWindowRgn设置窗体区域
CreateEllipticRgn VB声明
Declare Function CreateEllipticRgn Lib "gdi32" Alias "CreateEllipticRgn" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
说明
创建一个椭圆,该椭圆与X1,Y1和X2,Y2坐标点确定的矩形内切
返回值
Long,执行成功则为区域句柄,失败则为零
参数表
参数 类型及说明
X1,Y1 Long,矩形左上角X,Y坐标
X2,Y2 Long,矩形右下角X,Y坐标
注解
不用时一定要用DeleteObject函数删除区域。用Ellipse API函数绘出的椭圆与该椭圆区域不完全相同,因为本函数的绘图计算不包括矩形的下边和右边
SetWindowRgn VB声明
Declare Function SetWindowRgn Lib "user32" Alias "SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
说明
这是那些很难有人注意到的对编程者来说是个巨大的宝藏的隐含的API函数中的一个。本函数允许您改变窗口的区域。
通常所有窗口都是矩形的——窗口一旦存在就含有一个矩形区域。本函数允许您放弃该区域。这意味着您可以创建圆的、星形的窗口,也可以将它分为两个或许多部分——实际上可以是任何形状
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hWnd Long,将设置其区域的窗口
hRgn Long,将设置的区域的句柄,一旦设置了该区域,就不能使用或修改该区域句柄,也不要删除它
bRedraw Boolean,若为TRUE,则立即重画窗口
注解
为区域指定的所有坐标都以窗口坐标(不是客户坐标)表示,它们以整个窗口(包括标题栏和边框)的左上角为起点
它可以实现任意图形的界面!效率特别快!
Win9X下用不了!
SETWINDOWRGN
CREATEROUNDTECT