📄 main.frm
字号:
VERSION 5.00
Begin VB.Form Main
Caption = "用指定的颜色填充封闭区域"
ClientHeight = 4845
ClientLeft = 60
ClientTop = 345
ClientWidth = 4920
LinkTopic = "Form1"
Picture = "Main.frx":0000
ScaleHeight = 323
ScaleMode = 3 'Pixel
ScaleWidth = 328
StartUpPosition = 3 '窗口缺省
Begin VB.ComboBox Combo1
Height = 300
ItemData = "Main.frx":37A2
Left = 3480
List = "Main.frx":37B2
TabIndex = 0
Text = "红色"
Top = 240
Width = 1095
End
Begin VB.Label Label1
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "填满颜色"
Height = 180
Left = 2640
TabIndex = 1
Top = 240
Width = 720
End
End
Attribute VB_Name = "Main"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
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 DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function FloodFill Lib "gdi32" _
(ByVal hdc As Long, ByVal X As Long, ByVal Y _
As Long, ByVal crColor As Long) As Long
Dim Color(0 To 3) As Long
Private Sub Form_Load()
Color(0) = RGB(255, 0, 0)
Color(1) = RGB(0, 255, 0)
Color(2) = RGB(0, 0, 255)
Color(3) = RGB(255, 255, 0)
Combo1.ListIndex = 0
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim hBrush As Long, hOldBrush As Long
' 定义画刷
hBrush = CreateSolidBrush(Color(Combo1.ListIndex))
' 选择画刷
hOldBrush = SelectObject(Me.hdc, hBrush)
' 填充颜色
FloodFill Me.hdc, X, Y, RGB(0, 0, 0)
' 恢复画刷
SelectObject Me.hdc, hOldBrush
DeleteObject hBrush
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -