关于API函数createpen的问题,为什么实现不了呢?

ladofwind 2001-02-08 04:09:00
Option Explicit
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, 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 LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private ps As Long
Private pw As Long
Private pc As Long
Private Const PS_NULL = 5
Private Const PS_INSIDEFRAME = 6
Private Const PS_DASH = 1 ' -------
Private Const PS_DASHDOT = 3 ' _._._._
Private Const PS_DASHDOTDOT = 4 ' _.._.._
Private Const PS_DOT = 2 ' .......
Private Const PS_SOLID = 0
Private Sub Command1_Click()
Dim RED As Integer
Dim GREEN As Integer
Dim BLUE As Integer
Dim PENOBJECT As Object
pw = CInt(Text1.Text)
RED = CInt(Text2.Text)
GREEN = CInt(Text3.Text)
BLUE = CInt(Text4.Text)
pc = RGB(RED, GREEN, BLUE)
PENOBJECT = CreatePen(ps, pw, pc)
SelectObject Picture1.hdc, PENOBJECT
End Sub

Private Sub Form_Load()
List1.AddItem "PS_SOLID"
List1.AddItem "PS_DASH"
List1.AddItem "PS_DOT"
List1.AddItem "PS_DASHDOT"
List1.AddItem "PS_DASHDOTDOT"
List1.AddItem "PS_NULL"
List1.AddItem "PS_INSIDEFRAME"
List1.AddItem "PS_COSMETIC"
List1.ListIndex = 0
Me.ScaleMode = 3
Me.Picture1.ScaleMode = 3
End Sub

Private Sub List1_Click()
Select Case List1.Text
Case "PS_SOLID"
ps = PS_SOLID
Case "PS_DASH"
ps = PS_DASH
Case "PS_DOT"
ps = PS_DOT
Case "PS_DASHDOT"
ps = PS_DASHDOT
Case "PS_DASHDOTDOT"
ps = PS_DASHDOTDOT
Case "PS_NULL"
ps = PS_NULL
Case "PS_INSIDEFRAME"
ps = PS_INSIDEFRAME
End Select
End Sub



...全文
65 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
TechnoFantasy 2001-02-08
  • 打赏
  • 举报
回复
PENOBJECT 不要定义为Object而应该定义为Long
www.applevb.com

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧