Visual Basic 6 – Drawing Code Help

Discussion in 'Web Design & Coding' started by indyjones, Feb 18, 2005.

  1. indyjones

    indyjones OSNN.net Adventurer

    Messages:
    1,567
    Location:
    England
    Hey all
    Learning VB6 at the moment and was wondering if someone could help me please by telling me how to draw an ellipse by using a command button then changing its aspect ratio via a scrollbar.
    Any help will be much much appreciated! :)

    IJ
     
  2. Kush

    Kush High On Life!

    Messages:
    4,590
    Location:
    Montreal, Quebec
    i did this last year, i forgot, sorry man, its kinda confusing at first, but once u get the hang of it it will be easy, it has to do with coordinetes though (x,y) thats all i remember
     
  3. XPos

    XPos OSNN Addict

    Messages:
    88
    Location:
    Kansas
    Hope this will help. Hope I didn't go too overboard.

    Don't forget to set your min values to 1. You can set the max values to what ever you want. Just make sure the reset values reflect that number.
    Code:
    Option Explicit
    'Declare variables
      Dim CX As Integer
      Dim CY As Integer
      Dim sngAspect As Single
      Dim intRadius As Integer
      
    Private Sub Command1_Click()
    'Calculate the aspect ratio
      sngAspect = HScroll1.Value / VScroll1.Value
      
    'Clear the form
      Me.Cls
      
    'Reset the scroll bar values
      HScroll1.Value = 200
      VScroll1.Value = 200
      
    'Draw the circle/ellipse
      Me.Circle (CX, CY), intRadius, vbBlack, , , sngAspect
    End Sub
    
    Private Sub Form_Load()
    'Reset the scroll bar values
      HScroll1.Value = 200
      VScroll1.Value = 200
    End Sub
    
    Private Sub Form_Resize()
    'If the form is not minimized resize all object to fit on the form
      If Me.WindowState <> 1 Then
      'Move the command button
        Command1.Move Me.ScaleWidth - 15, Me.ScaleHeight - 15, 15, 15
        
      'Move the scroll bars
        HScroll1.Move 0, Me.ScaleHeight - 15, Me.ScaleWidth - 15, 15
        VScroll1.Move Me.ScaleWidth - 15, 0, 15, Me.ScaleHeight - 15
        
      'Recalculate the center of the circle
        CX = Me.ScaleWidth / 2 - VScroll1.Width
        CY = Me.ScaleHeight / 2 - HScroll1.Height
        
      'Calculate the radius of the circle
        If CX > CY Then
          intRadius = CX / 2
        Else
          intRadius = CY / 2
        End If
      End If
    End Sub
    
    Private Sub HScroll1_Change()
    'Reset the vertical scroll bar
      VScroll1.Value = 200
      
    'Recalculate the aspect ratio
      sngAspect = HScroll1.Value / VScroll1.Value
      
    'Clear the form
      Me.Cls
      
    'Redraw the circle/ellipse
      Me.Circle (CX, CY), intRadius, vbBlack, , , sngAspect
    End Sub
    
    Private Sub VScroll1_Change()
    'Reset the horizontal scroll bar
      HScroll1.Value = 200
      
    'Recalculate the aspect ratio
      sngAspect = HScroll1.Value / VScroll1.Value
      
    'Clear the form
      Me.Cls
      
    'Redraw the circle/ellipse
      Me.Circle (CX, CY), intRadius, vbBlack, , , sngAspect
    End Sub
    
     
    indyjones likes this.
  4. indyjones

    indyjones OSNN.net Adventurer

    Messages:
    1,567
    Location:
    England
    ^^^ Hey I am sure that will be usefull

    Many Thanks :D