» »

[MFC, C++] Sinhroniziranje Progress Bara z Timerjem

[MFC, C++] Sinhroniziranje Progress Bara z Timerjem

c0dehunter ::

Kaj želim doseči?
Da bi se Progress Bar začel polniti znova vsake toliko, ko bi se izvedla funkcija OnTimer. Do naslednje izvedbe OnTimer bi se Progress Bar moral enakomerno do konca zapolniti. Torej neke vrste sinhronizacija Progress Bara z timerjem.

Kaj mi ne deluje?
ProgressBar se pri spremembi Slider controla (od koder dobim čas za Timer) ne ujema več z Timerjem.

Kaj sem že naredil?
Vse :) Edini problem je - da, sinhronizacija. ProgressBarov range je definiran takole:
p_bar.SetRange(0,100);


V OnButtonnClickedZacetek() imam deklarirana dva Timerja. Prvi Timer je tisti osnovni, ob katerem bi se moral ProgressBar resetirati in začeti znova . Drugi Timer imam samo za to, da enakomerno zapolnjujem ProgressBar z StepIt().

UINT prvi_timer=SetTimer(TIMER1,drsnik.getPos(),(TIMERPROC) NULL);

UINT drugi_timer=SetTimer(TIMER2,drsnik.getPos()/10,(TIMERPROC) NULL);


Potem pa vsakič v funkciji OnTimer preverjam, če je ID timerja TIMER2, potem delno zapolnim ProgressBar s StepIt(). BTW, če Step ne definiraš je privzeto 10 enot.

Kaj delam narobe, da ni sinhronizirano?
I do not agree with what you have to say,
but I'll defend to the death your right to say it.

c0dehunter ::

Edit:
drsnik.getPos() je čas v milisekundah, ki ga preberem iz sliderja :)
Drugi Timer se pa pojavi 10x pogosteje, in potem vsakič kličem StepIt za 10, od 0 do 100...
I do not agree with what you have to say,
but I'll defend to the death your right to say it.

W3by ::

Kaj pa če bi probal naredit vse v enem timerju? Uporabiš čas drugega timerja - drsnik.getPos()/10, vsakič ko bi se timer izvedel bi premaknil progressbar, ko pa bi prišel do 10 bi resetiral vse skupaj.

Druga stvar - zakaj ne naštimaš range progressbar-a od 0 do 10, in potem samo normalno kličeš stepit, da se premakne po en korak.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# Pomoč

Oddelek: Programiranje
131400 (1225) jizzer
»

[JAVA]Barvni string v labeli

Oddelek: Programiranje
8917 (845) Infinity
»

[JAVA] Nujno potrebujem pomoč!

Oddelek: Programiranje
51379 (1173) Villain
»

VB6 - ne zaključi proces programa - pomoč !!!

Oddelek: Programiranje
131391 (1232) Mavrik
»

VB6 kako uporabiti

Oddelek: Programiranje
8970 (832) Area_51

Več podobnih tem