Results 1 to 6 of 6

Thread: Button

  1. #1

    Thread Starter
    New Member
    Join Date
    Jun 2000
    Location
    Posts
    14

    Question

    HI,

    I WANT TO KNOW HOW TO CHANGE THE BACK COLOR OF THE BUTTON AT RUN TIME.

    I AM CREATED BUTTON ARRAY WITH 5 BUTTONS.
    LIKE CMDSAVE(0),CMDSAVE(1),CMDSAVE(2),...CMDSAVE(5)

    WHEN I CLICK THE CMDSAVE(0) THIS BUTTON BACKGROUND COLOR SHOULD BE CHANGE INTO RED COLOR AND ALL OTHER BUTTONS BACK GROUND COLOR SHOULD BE WHITE.

    AND AFTER THIS I PRESSED THE CMDSAVE(1) THEN CMDSAVE(1) BUTTON BACKGROUND COLOR RED AND CMDSAVE(0) BACK COLOR WHITE
    AND ALL OTHER BUTTONS COLOR WHITE.

    WHEN EVER USER CLICKS A PARTICULAR BUTTON THAT BUTTON COLOR CHANGES TO RED AND REMAINING INTO WHITE.


    BYE.

  2. #2
    Guest
    In Design Time, change the Style property to Graphical, then, at Runtime, you can change the Backcolor.


    Code:
    Private Sub Command1_Click()
    
        'Changes the BackColor of Command1 to Blue
        Command1.BackColor = vbBlue
        
    End Sub

  3. #3
    _______ HeSaidJoe's Avatar
    Join Date
    Jun 1999
    Location
    Canada
    Posts
    3,946

    <?>

    Code:
    'set one button red and the rest to white
    'set the style to graphical in design time
    
    Option Explicit
    
    Private Sub Form_Activate()
        For i = 0 To 4
            Command1(i).BackColor = vbWhite
        Next i
    End Sub
    
    
    Private Sub Command1_Click(Index As Integer)
    
    Dim myPress As String
    
    If Index = 0 Then myPress = "1"
    If Index = 1 Then myPress = "2"
    If Index = 2 Then myPress = "3"
    If Index = 3 Then myPress = "4"
    If Index = 4 Then myPress = "5"
    Select Case myPress
    Case "1"
        Command1(0).BackColor = vbRed
        Command1(1).BackColor = vbWhite
        Command1(2).BackColor = vbWhite
        Command1(3).BackColor = vbWhite
        Command1(4).BackColor = vbWhite
    
    Case "2"
        Command1(1).BackColor = vbRed
        Command1(0).BackColor = vbWhite
        Command1(2).BackColor = vbWhite
        Command1(3).BackColor = vbWhite
        Command1(4).BackColor = vbWhite
        
    Case "3"
        Command1(2).BackColor = vbRed
        Command1(0).BackColor = vbWhite
        Command1(1).BackColor = vbWhite
        Command1(3).BackColor = vbWhite
        Command1(4).BackColor = vbWhite
        
    Case "4"
        Command1(3).BackColor = vbRed
        Command1(1).BackColor = vbWhite
        Command1(2).BackColor = vbWhite
        Command1(0).BackColor = vbWhite
        Command1(4).BackColor = vbWhite
        
    Case "5"
        Command1(4).BackColor = vbRed
        Command1(1).BackColor = vbWhite
        Command1(2).BackColor = vbWhite
        Command1(3).BackColor = vbWhite
        Command1(0).BackColor = vbWhite
    End Select
    
    End Sub
    "A myth is not the succession of individual images,
    but an integerated meaningful entity,
    reflecting a distinct aspect of the real world."

    ___ Adolf Jensen

  4. #4
    Former Admin/Moderator MartinLiss's Avatar
    Join Date
    Sep 1999
    Location
    San Jose, CA
    Posts
    33,431
    HeSaidJoe: It's not necessary to determine myPress in your solution, just use the Index itself like this:
    Code:
    Select Case Index
        Case 0
            Command1(0).BackColor = vbRed
            Command1(1).BackColor = vbWhite
            Command1(2).BackColor = vbWhite
            Command1(3).BackColor = vbWhite
            Command1(4).BackColor = vbWhite
        Case 1 
            etc.
    pravalika: Or you can simply do this:
    Code:
    Private Sub cmdSave_Click(Index As Integer)
    
        Dim intIndex As Integer
        
        For intIndex = 0 To cmdSave.Count - 1
            If intIndex = Index Then
                cmdSave(intIndex).BackColor = vbRed
            Else
                cmdSave(intIndex).BackColor = vbWhite
            End If
        Next
    
    End Sub

  5. #5
    Lively Member
    Join Date
    May 1999
    Location
    KC
    Posts
    72
    I like this way better, I think its faster.

    Code:
    Dim cmdbtn As CommandButton
    For Each cmdbtn In Command1
        cmdbtn.BackColor = vbWhite
    Next cmdbtn
    Command1(Index).BackColor = vbRed

  6. #6
    _______ HeSaidJoe's Avatar
    Join Date
    Jun 1999
    Location
    Canada
    Posts
    3,946

    </>

    I'm humbled...thanks for the simplification.
    "A myth is not the succession of individual images,
    but an integerated meaningful entity,
    reflecting a distinct aspect of the real world."

    ___ Adolf Jensen

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width