Seite 1 von 3

Farbiges ProgressBarGadget

Verfasst: 21.04.2007 16:37
von kreeph
Hallo Leute,
wie der Name schon sagt bin ich auf der Suche den Fortschritt im ProgressBarGadget z.B. grün wie der Smiley ( :mrgreen: ) statt dem normalen Blau darzustellen.
Hoffe es gibt eine Möglichkeit in 3.30. Danke schonmal!

Verfasst: 21.04.2007 16:49
von ts-soft
Du solltest eine ProgressBar malen, einfach grüne Boxes, sollte kein grosses
Problem darstellen :wink:

Die notwendigen 2DDrawing Befehle gibts auch in PB3.3

Verfasst: 21.04.2007 16:59
von Fluid Byte

Code: Alles auswählen

OpenWindow(0,0,0,300,200,#WS_OVERLAPPEDWINDOW | 1,"untitled")

Value = 75 : Width = 250

Repeat
	EventID = WaitWindowEvent()

	StartDrawing(WindowOutput())
	DrawingMode(4) : Box(20,20,Width,24)
	DrawingMode(0) : Box(22,22,Value * (Width - 4) / 100,20,RGB(110,150,50))
	DrawingMode(1) : FrontColor(255,255,255)
	Locate(Width/2,24) : DrawText(Str(Value) + "%")
	StopDrawing()
Until EventID = 16

Verfasst: 21.04.2007 17:27
von ts-soft
Der Code von Fluid Byte sollte wohl für PB3.3 so aussehen:

Code: Alles auswählen

OpenWindow(0,0,0,300,200,#WS_OVERLAPPEDWINDOW | 1,"untitled")

Value = 75 : Width = 250

Repeat
   EventID = WaitWindowEvent()
   StartDrawing(WindowOutput())
   DrawingMode(4) : Box(20,20,Width,24)
   DrawingMode(0) : FrontColor(110,150,50) : Box(22,22,Value * (Width - 4) / 100,20)
   DrawingMode(1) : FrontColor(255,255,255)
   Locate(Width/2,24) : DrawText(Str(Value) + "%")
   StopDrawing()
Until EventID = 16

Verfasst: 21.04.2007 17:43
von Sicro
Oder per WinAPI:

Code: Alles auswählen

#PBM_SETBARCOLOR = $409
ProgressBarGadget(0,10,30,250,30,0,100)
SendMessage_(GadgetID(0),#PBM_SETBARCOLOR,0,#Green)
Mfg DerProgger

Verfasst: 21.04.2007 17:46
von RSBasic
@kreeph
Meinst du, was Standard bei Win XP ist?
Bild

Wenn ja, aktiviere einfach bei Compiler Optionen "XP Skin Unterstützung aktivieren".
Wenn nein, dann die Beispiele, siehe oben.

Verfasst: 21.04.2007 17:54
von kreeph
Huch (Bild) bei meinem PB ist sie standart blau...
aber der code von DerProgger klappt :D Danke!
edit: Was kann ich eigentlich noch statt

Code: Alles auswählen

SendMessage_(GadgetID(7),#PBM_SETBARCOLOR,0,#Green)
dem #Green verwenden?
oder kann ich die Farben in RGB angeben?

Verfasst: 21.04.2007 18:01
von RSBasic
@kreeph
Du kannst alle Farben benutzen.
Also entweder die Namen oder du kannst sie richtig angeben: http://www.purearea.net/pb/german/manua ... table.html

Einfach ein $ davor setzen, also Beispiel: $660033

Verfasst: 21.04.2007 18:03
von ts-soft
Oder hier: http://www.purebasic.fr/german/viewtopic.php?t=12595
Haben alle Farben einen Namen :wink:

Verfasst: 21.04.2007 18:04
von RSBasic
@ts-soft
Das sind ja viele Namen :o :lol: :allright: