应用API函数在用户窗体中画圆

原创 2007年09月23日 14:23:00

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long                    '
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long


Sub MyCircle(MyObject As Object, pX As Long, pY As Long, pR As Long, lcColor As Long, lcFill As Long)
'MyObject 指定圆所在的对象
'
'pX 圆心在对象体上X轴
'
'pY 圆心在对象体上Y轴
'
'pR 圆的半径
'
'lcColor 圆的轮廓颜色
'
'lcFill 圆的填充色

Dim hdc As Long, hpen As Long, hcolor As Long
hdc = GetDC(FindWindow(vbNullString, MyObject.Caption))
hpen = CreatePen(0, 1, lcColor)
hcolor = CreateSolidBrush(lcFill)
SelectObject hdc, hpen
SelectObject hdc, hcolor
Ellipse hdc, pX - pR, pY - pR, pX + pR, pY + pR
DeleteObject hpen
DeleteObject hcolor
End Sub
'

Private Sub UserForm_Click()
MyCircle UserForm1, 100, 100, 50, vbRed, vbBlue
End Sub

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

VB6围棋:窗体画线和画圆的应用

Option Explicit Dim qipan(1 To 19, 1 To 19) As Integer '棋盘数组,0:无 1:黑子 2:白子Private Sub Form_Load() Me...

winForm用户登陆(window窗体应用程序,有改进版)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin...

用API函数在DELPHI中实现“非典型”窗体

====================================================== 注:本文源代码点此下载 =============================...

Vb.net/VB 声明API函数实现父窗体功能

回顾第一次敲机房收费,自己调用了api函数实现了父窗体及其子窗体最小化的功能,如今再次遇到,自己就在思考,能不能继续使用API函数呢?答案当然是Of Course!

Excel VBA - 控件与用户窗体 及 常用函数

参考:http://msdn.microsoft.com/zh-cn/library/ktwtk9ff%28v=VS.80%29.aspx  TextBox事件  →KeyPress事件的...

【Java】-利用天气查询API实现天气预报小窗体应用程序(一)

本例使用中国天气网 提供的API 接口 http://www.weather.com.cn/data/cityinfo/101010100.html 使用了json解析库文件 库文件地址为 h...

C#调用API函数给Winform窗体添加动态特效

想让你的Winform窗体美化得更炫、更美丽,光是有漂亮的C#皮肤、背景贴图等这些静态的部分是远远不够的,还需要有一些动态部分的加持才能让你的程序界面有更好的用户体验。   这里要介绍的是调用us...

VB.NET 章鱼哥出品--利用API函数AnimateWindow创建Popup提示窗口,窗体的动画效果

当我们打开电脑上网时,是不是会经常看到桌面的右下角弹出一个小的新闻热点窗体,我们可以实现吗?当然可以,这篇文章就来给您掩饰怎么样来用代码实现。看吧,正写着呢弹出了一个。 一、主要用到的函数是API函...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)