Prozentangabe in ProgressBar

  • VB6

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von Major.

    Hab ich schon Probiert, aber das Label lässt sich nicht über die ProgressBar "schieben".

    Auch wenn ich "in den Hintergrund" bei der PGBar klicke und bei dem Label "In den Vordergrung".


    Gibt es eine andere Möglichkeit??


    Gruß,
    m3rlin
    mehr als ein LIPPER kann der Mensch kaum werden! :)
    Du könntest einen Frame über die ProgressBar machen und darein das Label (das klappt). Nachteil ist nur, dass der Hintergrund des Frames nicht transparent ist. Ansonsten nimm doch zwei Shapes und bastel dir damit selbst eine ProgressBar. Dann kannst du auch ein Label darüber machen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    -([m3rLiN])- schrieb am 15.03.2004 10:00
    Wenn man ein Frame über die PGB legt und der Hintergrund nicht transparent ist, dann sehe ich die PGB ja nicht mehr!?


    Wieso das? Du sollst den Frame natürlich ganz klein machen!

    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Jo,

    so funst das wohl....

    aber das gelbe vom Ei ist die Lösung mit der PictureBox auch nicht, denn wenn der Fortschrittbalken die Prozentangabe erreicht, wird gleich die ganze Prozent angabe weiß.
    Bei den meisten PGBs ist es so, dass die Prozentangabe nur dort invertiert wird, wo auch der Fortschrittbalken ist.

    Aber trotzdem DANKE! Vieleicht weiß ja ein Anderer noch ne' perfekte Lösung....

    @Markus:
    Das mit dem Label check ich nett. Wo über der PGB soll der Frame plaziert werden??


    Gruß,
    m3rlin
    mehr als ein LIPPER kann der Mensch kaum werden! :)
    -([m3rLiN])- schrieb am 17.03.2004 11:57
    Das mit dem Label check ich nett. Wo über der PGB soll der Frame plaziert werden??


    Da da, wo die Prozentangabe eben hin soll. Ist doch egal wo.

    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Hallo -([m3rLiN])-,

    hier ein anderer Ansatz, der aber wegen des schlechten Kontrastes bei hellen Balkenfarben weiter optimiert werden müsste, wenn man das als Klasse anlegt, könnte es bestimmt in einer optimierten Form ausgeführt werden.

    <pre>Option Explicit

    Private Sub Command1_Click()
    Dim sngValue As Single
    Dim i As Long
    For i = 1 To 10000
    sngValue = 0.01 * i
    drawBar Picture1, FormatPercent(0.01 * sngValue, 1), sngValue, vbBlue
    DoEvents
    Next i
    End Sub

    Private Sub drawBar(pic As PictureBox, strMsg As String, _
    sngValue As Single, col As Long)
    With pic
    .Cls
    .DrawMode = vbMergePenNot
    pic.Line (0, 0)-(0.01 * .ScaleWidth * sngValue, .ScaleHeight), vbWhite, BF
    .CurrentX = (.ScaleWidth - .TextWidth(strMsg)) / 2
    .CurrentY = (.ScaleHeight - .TextHeight(strMsg)) / 2
    pic.Print strMsg
    pic.Line (0, 0)-(0.01 * .ScaleWidth * sngValue, .ScaleHeight), col, BF
    End With
    End Sub</pre>

    Gruß Markus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „alchimist“ ()

    Danke!

    das ist doch genau das, was ich gesucht hab!

    -genial- :)

    Der Code ist echt perfekt..... Vieln DANK alchimist!!!


    @Markus: also den Frame mit dem Label in die mitte der PGB? Dann sehe ich den Teil der PGB aber doch auch nicht mehr!?

    gruss,
    m3rlin
    mehr als ein LIPPER kann der Mensch kaum werden! :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „-([m3rLiN])-“ ()

    Hallo -([m3rLiN])-,

    ist ja toll, dass du so etwas gesucht hast. Es hatte mich aber damals auch eine ganze Zeit gekostet, bis ich den richtigen DrawMode rausgefunden hatte und auf den Gedanken kam zuerst einen weißen Balken als Hinterfrund zu benutzen, weil ohne diese Maßnahme, die gewählte BarColor leicht verfälscht erscheint.

    Ich habe das nach einer Weile nicht mehr weiter verbessert. Falls du das Kontrastproblem (ist ja eigentlich kein Problem, man muss ja nur einen Punkt finden, an dem zwischen Weiß und Schwarz umgeschaltet wird, die Hintergrundfarbe der PictureBox muss trotzdem noch passend vom Bediener ausgewählt werden.) optimierst ist das auch für beliebige BarColors einsetzbar.

    Gruß Markus
    .. oder du nimmst gleich eine Picturebox als Progressbar, wo die prozentangabe gleich eingebaut is

    Wie kann man allgemein in eine PictureBox mit einer bestimmten Schriftart und -größe schreiben? ?(
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Bitte das nächste Mal einen eigenen Thread offen machen und nicht solche Uraltthreads missbrauchen.

    Die Progressbar findest du in VB6 in der Bibliothek "Microsoft Common Controls".
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum