Free Web Hosting by Netfirms
Web Hosting by Netfirms | Free Domain Names by Netfirms

netrino
:: Αρχική Σελίδα :: :: Δημοσιεύσεις :: :: Projects :: :: Downloads :: :: Επικοινωνία ::
 
.:: Δημιουργήστε την δικιά σας ProgressBar στην VB6 ::.
Ποιος θα έπρεπε να διαβάσει αυτό το άρθρο;
Αυτό το άρθρο προορίζεται για τους προγραμματιστές που μελετούν την Visual Basic 6 . Μπορεί να είναι ενδιαφέρον για τους προηγμένους VB προγραμματιστές επίσης.
Προϋποθέσεις
Θα χρειαστείτε μια βασική γνώση της Visual Basic 6 και του περιβάλλοντος της Visual Basic 6.
Πότε χρειάζεστε την δικιά σας progress bar;
Η τυποποιημένη progress bar που συμπεριλαμβάνεται στην Visual Basic είναι κατάλληλη για τις περισσότερες περιπτώσεις. Αλλά μερικές φορές μπορείτε να θελήσετε να δημιουργήσετε μια progress bar της αρεσκείας σας. Παραδείγματος χάριν:
1. H τυποποιημένη progress bar δεν ταιριάζει με το γραφικό περιβάλλον της εφαρμογής σας
2. H τυποποιημένη progress bar είναι περίπλοκη ή πολύ «βαριά» για την εφαρμογή σας
3. και άλλοι λόγοι
Πιστεύω ότι μπορείτε να φανταστείτε και άλλους λόγους για την δημιουργία της δικιά σας progress bar.
Σχεδιασμός της progress bar
Το στοιχείο Label είναι ένα απλό γραφικό αντικείμενο της Visual Basic που καταλαμβάνει λιγότερους πόρους από οποιοδήποτε άλλο αντικείμενο της Visual Basic.
Τοποθετήστε τις παρακάτω Label στην φόρμα της εφαρμογής:
1. Η lblBack Label αποτελεί το background της progress bar.Είναι απολύτος στατική.Όλες οι ιδιότητες για αυτήν μπορούν να ορισθούν κατα τον σχεδιασμό της εφαρμογής
2. Η lblFace Label αποτελεί το πρόσωπο της progress bar. Οι ιδιότητες Top, Left και Height θα πρέπει να είναι ίδιες με αυτές της lblBack. Η ιδιότητα Width για την lblFace πρέπει να ορισθεί 0 κατα τον σχεδιασμό της εφαρμογής.Θα αλλάξει αυτόματα κατα την εκτέλεση της εφαρμογής μας.
Ορίστε τις παρακάτω ιδιότητες και για τις δυο Label:
1. Appearance: 0 - Flat
2. BorderStyle: 1 - Fixed Single
Ο κώδικας
Αρχικά δημιουργούμε κάποιες μεταβλητές που θα διατηρήσουν την progress bar σταθερή κατα την διάρκεια των υπολογισμών:
1. m_iMin – ελάχιστη τιμή της progress bar
2. m_iValue – τρέχων τιμή της progress bar
3. m_iMaxValue – μέγιστη τιμή της progress bar
4. m_sWidth –το πλάτος της progress bar
Private m_iMin As Long
Private m_iValue As Long
Private m_iMaxValue As Long
Private m_sWidth As Single
Τώρα θα αναπτύξουμε τον κώδικα για την λειτουργία της progress bar.Δημιουργούμε μια υπορουτίνα InitProgress :
Private Sub InitProgress(ByVal iMin As Long, ByVal iMax As Long)
m_sWidth = Me.lblBack.Width
m_iMin = iMin
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
Τα παραπάνω είναι τα στάδια λειτουργίας της progress bar
Τώρα ας δημιουργήσουμε την υπορουτίνα SetProgress, που θα εμφανίζει την τρέχω κατάσταση της progress bar :
Private Sub SetProgress(ByVal iValue As Long)
m_iValue = Abs(iValue - m_iMin) + 1
With Me.lblFace
.Width = (m_iValue * m_sWidth) / m_iMaxValue
.Caption = CStr(Int(m_iValue * 100 / m_iMaxValue)) & "%"
End With
DoEvents
End Sub

Τώρα το μόνο που χρειάζεται είναι να καλέσουμε τις δύο υπορουτίνες initProgress και SetProgress και η δικιά μας progress bar είναι έτοιμη.

Downloads VBPRGBAR.ZIP

netrino - 31.10.2004