ProgressBarGadget mit Text (Windows, für Anfänger & Profis)
ProgressBarGadget mit Text (Windows, für Anfänger & Profis)
Code gelöscht weil der nich mir gehörte.
Zuletzt geändert von Tommy am 27.01.2015 12:05, insgesamt 2-mal geändert.
PB 5.41 x64
Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
Huch, du bringst mehrfach täglich Codes heraus, die ich zwar nicht brauche, aber dieser Code ist dir gut gelungen und ist sogar für mein aktuelles Projekt sehr nützlich.
Ich werde meine billige ProgressBar durch deins ersetzen.
Danke für den großen Aufwand und für die Bereitstellung.
Lebe Grüße

Danke für den großen Aufwand und für die Bereitstellung.

Lebe Grüße
Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
danke Tommy 
Und die Textfarbe ändert sich auch automatisch, dachte es wäre eintönig, aber nein, find ich super

Und die Textfarbe ändert sich auch automatisch, dachte es wäre eintönig, aber nein, find ich super

Ich benutze Pure Basic 5.30 auf Microsoft Windows 7.
Gruß
JM
Gruß
JM
Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
Danke, das hört man gern 

Zuletzt geändert von Tommy am 26.01.2015 14:48, insgesamt 1-mal geändert.
PB 5.41 x64
Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
Wenn's jemand "themed" braucht

Code: Alles auswählen
;;; [Themed ProgressBarGadget with Counter] by chi (2015)
Prototype _OpenThemeData(hWnd, pszClassList.p-unicode)
Prototype _CloseThemeData(hTheme)
Prototype _DrawThemeBackground(hTheme, hdc, iPartId, iStateId, pRect, pClipRect)
If OpenLibrary(0, "uxtheme.dll")
Global OpenThemeData_._OpenThemeData = GetFunction(0, "OpenThemeData")
Global DrawThemeBackground_._DrawThemeBackground = GetFunction(0, "DrawThemeBackground")
Global CloseThemeData_._CloseThemeData = GetFunction(0, "CloseThemeData")
EndIf
#PBM_GETRANGE = #WM_USER + 7
Global ProgBarProc
Procedure ProgBarCB(hWnd, Msg, wParam, lParam)
Select Msg
Case #PBM_SETPOS
hdc = GetDC_(hWnd)
GetClientRect_(hWnd, progbar.RECT)
GetClientRect_(hWnd, progstate.RECT)
range = SendMessage_(hwnd, #PBM_GETRANGE, #False, 0)
mdc = CreateCompatibleDC_(hdc)
bmp = CreateCompatibleBitmap_(hdc, progbar\right, progbar\bottom)
SelectObject_(mdc, bmp)
theme = OpenThemeData_(hWnd, "PROGRESS")
DrawThemeBackground_(theme, mdc, 1, 1, progbar, 0)
progstate\right / range * wParam
DrawThemeBackground_(theme, mdc, 5, 1, progstate, 0)
CloseThemeData_(theme)
SelectObject_(mdc, GetStockObject_(#DEFAULT_GUI_FONT))
SetBkMode_(mdc, #TRANSPARENT)
DrawText_(mdc, Str(wParam) + "%", -1, progbar, #DT_CENTER|#DT_VCENTER|#DT_SINGLELINE)
BitBlt_(hdc, 0, 0, progbar\right, progbar\bottom, mdc, 0, 0, #SRCCOPY)
DeleteObject_(bmp)
DeleteDC_(mdc)
ReleaseDC_(hWnd, hdc)
ProcedureReturn 0
EndSelect
ProcedureReturn CallWindowProc_(ProgBarProc, hWnd, Msg, wParam, lParam)
EndProcedure
OpenWindow(0, 0, 0, 600, 150, "Themed ProgressBarGadget with Counter", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
ProgressBarGadget(1, 50, 60, 500, 20, 0, 100)
ProgBarProc = SetWindowLongPtr_(GadgetID(1), #GWL_WNDPROC, @ProgBarCB())
AddWindowTimer(0, 1, 100)
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_Timer
Select EventTimer()
Case 1
x+1
If x > 100 : x = 0 : EndIf
SetGadgetState(1, x)
EndSelect
EndSelect
Until event=#PB_Event_CloseWindow
Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
Ich verstehe nur nicht den Nutzen der Sache.
Es ergibt meiner bescheidenen Meinung nach keinen Sinn eine Prozentanzeige in die Progressbar zu setzen.
Sinniger ist da eine Restzeitanzeige, welche dann aber auch erst nach vielleicht 10 Sekunden eingeblendet wird,
wenn noch eine längere Wartezeit ansteht.
Ansonsten finde ich das nur nervig, sorry...
Es ergibt meiner bescheidenen Meinung nach keinen Sinn eine Prozentanzeige in die Progressbar zu setzen.
Sinniger ist da eine Restzeitanzeige, welche dann aber auch erst nach vielleicht 10 Sekunden eingeblendet wird,
wenn noch eine längere Wartezeit ansteht.
Ansonsten finde ich das nur nervig, sorry...
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
Es ist ja niemand hier gezwungen sowas zu benutzen. Außerdem kann man den Code als Vorlage nutzen und statt der Prozentzahl auch andere Dinge rein schreiben.
Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
Das ist korrekt,
war ja auch nur sachlich meine bescheidene Meinung.
Die Restzeitanzeige ist aber auch nicht ganz so simpel.
war ja auch nur sachlich meine bescheidene Meinung.
Die Restzeitanzeige ist aber auch nicht ganz so simpel.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
Was soll denn nun der ganze unsinnige Text mit Size 1?Tommy hat geschrieben:
purebasic pb procedure prozedur funktion function array dim goto engine irrlicht ogre offtopic anfänger api windows linux macos variable konstante syntax schleife loop openwindow module basic quickbasic freebasic ButtonGadget ButtonImageGadget CalendarGadget CanvasGadget CheckBoxGadget ComboBoxGadget ContainerGadget DateGadget EditorGadget ... ...
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: ProgressBarGadget mit Text (Windows, für Anfänger & Prof
Ach du heiliger Bimbam...Was soll denn nun der ganze unsinnige Text mit Size 1?
Da ist einer aber ganz versessen darauf, bei wirklich jeder nur erdenklichen Suchanfrage mit aufgelistet zu werden....
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom