首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >visual 6图像类

visual 6图像类
EN

Stack Overflow用户
提问于 2012-07-17 01:31:15
回答 1查看 538关注 0票数 0

下面的代码是表单代码,它更改图像或通知用户图像已经更改。在表单中,我有一个名为Image1的图像控件,其图片属性必须更改。我只是在寻求关于如何从这段代码生成类模块(.cls)的帮助。

代码语言:javascript
复制
Private Image1Color As String

Private Sub Form_Load()

    Image1Color = "Green"

End Sub

Private Sub CheckIn1_Click()

    If Image1Color = "Green" Then
        Image1.Picture = LoadPicture ("Color\red1.jpg")
        Image1Color = "Red"
    Else
        MsgBox ("This table is already occupied")
    End If
End Sub
EN

回答 1

Stack Overflow用户

发布于 2012-07-19 00:01:03

如果要真正重用表单代码,可以执行以下操作:

ImageControlWrapper.cls:

代码语言:javascript
复制
Private m_ksColor_Green As String = "Green"
Private m_ksColor_Red As String = "Red"

Private m_sImageColor As String
Private WithEvents m_oImageControl As Image

Private Sub Class_Initialize()

    m_sImageColor = m_ksColor_Green

End Sub

Public Sub Attach(ByRef in_oImageControl As VB.Image)

    Set m_oImageControl = in_oImageControl

End Sub

Private Sub m_oImageControl_Click()

    If m_sImageColor = m_ksColor_Green Then
        Set m_oImageControl.Picture = LoadPicture("Color\red1.jpg")
        m_sImageColor = m_ksColor_Red
    Else
        MsgBox "This table is already occupied"
    End If

End Sub

Test.frm:

代码语言:javascript
复制
Private m_oImageControlWrapper As ImageControlWrapper

Private Sub Form_Load

    Set m_oImageControlWrapper = New ImageControlWrapper
    m_oImageControlWrapper.Attach Image1

End Sub

我使用字符串常量来表示颜色,这样编译器就可以在错误地使用常量时发现错误。如果你错了实际的字符串,这是一个恼人的错误修复。但是,如果您真的不需要使用字符串,最好将m_sImageColor转换为布尔类型或枚举类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11514890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档