Problem mit ProgressBar



  • Hab diese Funktionen mit geschrieben um den ProgessBar Balken zubewegen
    nur wie bekomme ich den balken bri 100% zum stoppen

    void Init (HWND hwnd)
    {
    	SendMessage(GetDlgItem(hwnd,IDC_PROGRESS), PBM_SETPOS,(WPARAM)progress,0);
    }
    
    void CALLBACK IncTimer1 (HWND hwnd, UINT iMsg, UINT iTimer, DWORD dwTime)
    {
    	progress++;
    
    	if(progress < 100)
    	{
    		Init(hwnd);
    	}
    
    	if(progress >=100)
    	{
    		progress=0;
    		Init(hwnd);
    	}
    	sprintf(status,"%i %%",progress);
    	SetWindowText(GetDlgItem(hwnd, IDC_ANZEIGE), status);
    }
    

    und der Aufruf

    SetTimer(hWnd, INCTIMERID1, zeit, (TIMERPROC) IncTimer1);
    


  • KillTimer(id) wobei id die ID des zuvor erzeugten Times ist.



  • Schoen mit KillTimer Kill ichs Scho manuel wollte eigentlich wo oder wie ich erfahre das der timer 100 ereicht hat damit er selbst stopt



  • Ascharan schrieb:

    Schoen mit KillTimer Kill ichs Scho manuel wollte eigentlich wo oder wie ich erfahre das der timer 100 ereicht hat damit er selbst stopt

    Na in Deiner TimerProc (also hier IncTimer1). Du kannst doch prüfen, ob progress dem Wert 100 entspricht und dann in der TimerProc den Timer beenden, mit:

    KillTimer(hwnd, iTimer);
    


  • Jop functioniert hab

    KillTimer(hwnd, INCTIMERID1);
    

    mit in die function gesetzt

    void CALLBACK IncTimer1 (HWND hwnd, UINT iMsg, UINT iTimer, DWORD dwTime)
    {
        progress++;
    
        if(progress < 100)
        {
            Init(hwnd);
        }
    
        if(progress >=100)
        {
            progress=0;
            Init(hwnd);
            KillTimer(hwnd, INCTIMERID1);
        }
        sprintf(status,"%i %%",progress);
        SetWindowText(GetDlgItem(hwnd, IDC_ANZEIGE), status);
    }
    

Anmelden zum Antworten