|
You last visited: Today at 18:14
Advertisement
Label in einer Progressbar
Discussion on Label in einer Progressbar within the AutoIt forum part of the Coders Den category.
12/25/2011, 13:09
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Label in einer Progressbar
Hi,
ich wollte ein Label in einer Progressbar machen, aber es wird leider nicht angezeigt weil die Progressbar darüber liegt. Kann man das iwie anders machen? Dass das Label "on top" ist? Und am Besten wäre es wenn der Hintergrund von dem Label druchsichtig wäre so das man die Grünen ladebalken sieht und die Label schrifft auch.
MfG Ludder231
|
|
|
12/25/2011, 13:28
|
#2
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
eig werden die controls doch immer in der reihenfolge angezigt, in welcher sie erstellt werden.
sollte eig keine probleme geben.
|
|
|
12/25/2011, 13:41
|
#3
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Quote:
Originally Posted by lolkop
eig werden die controls doch immer in der reihenfolge angezigt, in welcher sie erstellt werden.
sollte eig keine probleme geben.
|
Hmm, stimmt. Und wie ist das mit dem durchsichtigen Hintergrund. Gibs sowas? Weil sonst sieht das doof aus...
|
|
|
12/25/2011, 14:25
|
#4
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
naja das geht ja einfach per GUICtrlSetBkColor($control, -2).
probleme wirst du aber bekommen, da progress bars ja langsam aktualisiert werden.
dh du setzt den wert, und die progressbar steigt/sinkt stetig zu diesem wert.
die sauberste variante hier wäre wohl ein overlay gui über dein eigentliches gui zu legen.
hier mal ein beispiel wie man das ganze sehr sauber lösen könnte:
Code:
#include <winapi.au3>
$gui=GUICreate('blubb', 200, 40, Default, Default, 0x10C80000)
$progress=GUICtrlCreateProgress(10, 10, 180, 20, 1)
$label = BuildOverlayLabel($gui, '0 %', 10, 13, 180, 20, 1)
Dim $percent=0, $timer=TimerInit()
Do
$msg = GUIGetMsg()
If TimerDiff($timer)>=100 And $percent<=99 Then
$percent+=1
$timer=TimerInit()
GUICtrlSetData($progress, $percent)
GUICtrlSetData($label, $percent&' %')
EndIf
Until $msg=-3
Func BuildOverlayLabel($mainGui, $text, $x, $y, $width, $height, $style=Default, $exStyle=Default)
Local $overlay = GUICreate('', $width, $height, $x, $y, 0x90000000, 0x00080040, $mainGui)
GUISetBkColor(0xABCDEF, $overlay)
_WinAPI_SetLayeredWindowAttributes($overlay, 0xABCDEF, 255)
Local $label=GUICtrlCreateLabel($text, 0, 0, $width, $height, $style, $exStyle)
GUICtrlSetBkColor(-1, -2)
Return $label
EndFunc
|
|
|
01/13/2014, 00:06
|
#5
|
elite*gold: 0
Join Date: Feb 2010
Posts: 3
Received Thanks: 0
|
Quote:
Originally Posted by lolkop
naja das geht ja einfach per GUICtrlSetBkColor($control, -2).
probleme wirst du aber bekommen, da progress bars ja langsam aktualisiert werden.
dh du setzt den wert, und die progressbar steigt/sinkt stetig zu diesem wert.
die sauberste variante hier wäre wohl ein overlay gui über dein eigentliches gui zu legen.
hier mal ein beispiel wie man das ganze sehr sauber lösen könnte:
Code:
#include <winapi.au3>
$gui=GUICreate('blubb', 200, 40, Default, Default, 0x10C80000)
$progress=GUICtrlCreateProgress(10, 10, 180, 20, 1)
$label = BuildOverlayLabel($gui, '0 %', 10, 13, 180, 20, 1)
Dim $percent=0, $timer=TimerInit()
Do
$msg = GUIGetMsg()
If TimerDiff($timer)>=100 And $percent<=99 Then
$percent+=1
$timer=TimerInit()
GUICtrlSetData($progress, $percent)
GUICtrlSetData($label, $percent&' %')
EndIf
Until $msg=-3
Func BuildOverlayLabel($mainGui, $text, $x, $y, $width, $height, $style=Default, $exStyle=Default)
Local $overlay = GUICreate('', $width, $height, $x, $y, 0x90000000, 0x00080040, $mainGui)
GUISetBkColor(0xABCDEF, $overlay)
_WinAPI_SetLayeredWindowAttributes($overlay, 0xABCDEF, 255)
Local $label=GUICtrlCreateLabel($text, 0, 0, $width, $height, $style, $exStyle)
GUICtrlSetBkColor(-1, -2)
Return $label
EndFunc
|
junge lolkop du hast es ja mal richtig drauf!
sass heute den halben tag um das zu verstehen, was hier steht xD
vielen dank.. endlich gehts weiter
|
|
|
01/13/2014, 14:09
|
#6
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Da du hier nicht viel gepostet hast möchte ich dich darauf hinweisen damit es sich nicht wiederholt.
Der Thread ist über 2 Jahre alt und dein Beitrag leistet null dazu, also bitte beim nächsten Mal nichts posten damit der Thread nicht unnötig nach oben gepusht wird. Einfach auf Thanks drücken und Ende.
|
|
|
|
Similar Threads
|
Label in einer Koda Form umbenennen
04/12/2011 - AutoIt - 2 Replies
Hi,
Ich wollte mal fragen ob es geht das man während eine Koda Form offen ist ein Label umbenennen kann?
Z.bWhile 1
if ProcessExists("Game.exe") then
"Label ändern"
wend
€: HAT SICH ERLEDIGT! :D
|
progressbar
07/22/2010 - AutoIt - 10 Replies
hab mal wieder ne kleine frage, undzwar will ich, wenn ich ein button drücke die progressbar sich jedesmal um 20erhöht, aber bekomm das iwie nicht hin ...
in internet hab ich dazu nicht wirklich was gefunden....
mein bsp. code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
|
Progressbar
06/18/2010 - AutoIt - 2 Replies
$get1 = InetGet("...",$zgh & "\...")
$inf1 = InetGetInfo($get1,0)
Do
GUICtrlSetData($Progress1,$inf1)
Until InetGetInfo($get1,2) = True
Also, die Progressbar bleibt leer und die GUI ist scheintot, aber es lädt die Datei...
1. Progressbar soll konstant zum Download sein.
2. GUI soll aktiv bleiben.
|
VB-Webbrowser mit ProgressBar
05/09/2010 - .NET Languages - 2 Replies
Hey Leute
Ich bekomme es einfach nicht hin, das beim laden einer seite in meinem webbrowser der progressbar den ladefortschritt der seite zeigt die ich aufrufen möchte.
kann mir jemand konkret erklären wie das klappt was oben steht?
Danke
|
How to Make Progressbar
10/02/2009 - Coding Tutorials - 1 Replies
Visual Basics 6.0 - Progressbar Helloworld
YouTube - Visual Basics 6.0 - Progressbar Helloworld
How to Make a advanced progressbar in visual basic 2008
YouTube - How to Make a advanced progressbar in visual basic 2008
|
All times are GMT +1. The time now is 18:14.
|
|