Results 1 to 5 of 5

Thread: Custom control implementation of a progress bar

  1. #1
    Join Date
    Jan 2009
    Posts
    25

    Custom control implementation of a progress bar

    hi
    i am working on project where i want tips to create custom control progress bar . i tried to work on it but not well so please any one can help me to overcome of this. please help me .
    thank you .

  2. #2
    Join Date
    Jan 2008
    Posts
    1,521

    Re: Custom control implementation of a progress bar

    hi
    Custom Progress Bar Using Visual Basic

    Lightweight progress bar design:

    A Label is one of the simplest Visual Basic controls. It is a graphical lightweight control, which requires fewer system resources than other Visual Basic controls. Lets build our progress bar using two Label controls.

    Place the following Label controls at your Form:

    1. The lblBack Label control will represent progress bar background. It is absolutely static. All properties for this control can be set at design time.
    2. The lblFace Label control will represent face of our progress bar. Top, Left and Height properties should be the same as corresponding properties of the lblBack Label control. The Width property of the lblFace should be set to 0 at design time. It will be changed dynamically at runtime.

    Set the following properties for both Label controls:

    1. Appearance: 0 - Flat
    2. BorderStyle: 1 - Fixed Single

    You can choose other properties like Font, BackColor, ForeColor, etc. of these Label controls depending of your taste.
    Progress bar implementation and Visual Basic code

    Our progress bar will use a range, which can be specified by Min and Max Long integer values during initialization process, and internal counter, which will be used for progress visualization. Progress bar internal counter value is represented with the Long integer type variable and can be an integer value from 1 to 2,147,483,647. An absolute value of the range cannot exceed that value.

    First of all we need to create some form level variables that will keep our progress bar state during calculations:

    1. m_iMin - minimal range value. We will need it to calculate current progress position correctly.
    2. m_iValue - current progress bar counter value, i.e. current progress position.
    3. m_iMaxValue - maximal progress bar counter value. It will be calculated during initialization from the Min and Max range values.
    4. m_sWidth - progress bar control width. It is the lblBack.Width value.

    Private m_iMin As Long
    Private m_iValue As Long
    Private m_iMaxValue As Long
    Private m_sWidth As Single

    Now we need to create initialization code. Lets create InitProgress sub procedure. It takes two ByVal arguments that are minimal and maximal values of the progress range:

    Private Sub InitProgress(ByVal iMin As Long, ByVal iMax As Long)

    Save progress bar control width value and minimal range value:

    m_sWidth = Me.lblBack.Width
    m_iMin = iMin

    Calculate maximal progress bar counter value. Minimal counter value is 1.

    If iMin = 1 Then
    m_iMaxValue = iMax
    Else
    m_iMaxValue = Abs(iMax - iMin)
    If iMin < 1 Then
    m_iMaxValue = m_iMaxValue + 1
    End If
    End If
    m_iValue = 1
    End Sub

    We don't need any additional initialization steps.

    Lets create SetProgress sub procedure, which will display current progress bar state. It takes one ByVal argument, which is a value from the range specified during the initialization. It is the current position within the range.

    Private Sub SetProgress(ByVal iValue As Long)

    Normalize current progress value, i.e. shift it to the diapason from 1 to m_iMaxValue:

    m_iValue = Abs(iValue - m_iMin) + 1

    Draw progress bar, i.e. calculate current width of the lblFace Label control depending on the current progress value:

    With Me.lblFace
    .Width = (m_iValue * m_sWidth) / m_iMaxValue
    .Caption = CStr(Int(m_iValue * 100 / m_iMaxValue)) & "%"
    End With

    Let the operating system to redraw form and to process other events:

    DoEvents
    End Sub

    That's all!

  3. #3
    Join Date
    Oct 2005
    Posts
    2,393

    Re: Custom control implementation of a progress bar

    hi
    for best ill suggest you to simply visit here good direction you will get ..
    http://www.codeproject.com/KB/progre...ssBarEver.aspx

  4. #4
    Join Date
    Jan 2009
    Posts
    25

    Re: Custom control implementation of a progress bar

    hi
    thank you very much for helping.

  5. #5
    lucas999 Guest

    Re: Custom control implementation of a progress bar

    Quote Originally Posted by Reegan View Post
    hi
    for best ill suggest you to simply visit here good direction you will get
    No, avoid these (newbie) samples.
    See rather the original MS samples from which it's (poorly) copied...

Similar Threads

  1. Custom theme to control light color in Sony Xperia U
    By Nitye in forum Portable Devices
    Replies: 2
    Last Post: 29-05-2012, 04:30 PM
  2. Replies: 3
    Last Post: 20-11-2011, 11:16 AM
  3. MSP custom field formula to track project progress
    By M0m1 in forum Microsoft Project
    Replies: 1
    Last Post: 30-04-2011, 03:40 AM
  4. Can I create a custom control in Windows Phone 7
    By mANICKAVASAN in forum Portable Devices
    Replies: 3
    Last Post: 27-10-2010, 11:56 AM
  5. Collection Content Property in custom control wpf
    By Nurhan in forum Software Development
    Replies: 3
    Last Post: 04-08-2009, 12:32 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Page generated in 1,750,427,770.34840 seconds with 16 queries