ein Progressbar geht ja "normal" von 0 - 100%. wenn ich Werte > 100 habe benötige ich eine "Scala"
Code: Alles auswählen
::nMinimum := 0
::nMaximum := 100
::nValue := 0
::nPercent := 0
::nIncrement := 1
::nScaleMax := 100
::nPercent := ::nMaximum / ::nScaleMax * ::nValue
Code: Alles auswählen
nLimit := LASTREC()
nEvery := INT(nLimit/100)
xScale := nLimit*nEvery
oProgress := DXE_ProgressBar() :new( oDraw,, aPos, aSize )
//
// NEED visual Style and XP Manifest !!!
// assign before create
//
oProgress:UseVisualStyle := .T.
oProgress:UsePercent := .T.
oProgress:create()
//
// assign after create
//
oProgress:minimum := 1
oProgress:Maximum := nLimit
oProgress:Increment := nEvery
oProgress:nScaleMax := xScale
Code: Alles auswählen
INLINE METHOD Increment()
LOCAL nValue := ::GetData()
::SetData( nValue + ::nIncrement )
RETURN