Zugriff auf Steuerelemente



  • Hallo nochmal,

    neben meinem Problem mit dem CListCtrl habe ich noch eins.
    Ich blende einen "Bitte warten" Dialog ein.

    //Bitte warten Dilaog einblenden
    	hInst = GetModuleHandle(NULL);
    	hWnd = CreateDialog(hInst, MAKEINTRESOURCE(IDD_ANMELDEN_WAIT), *this, NULL);
    	AnimateWindow(hWnd,500, AW_BLEND);
    
             // TUT IRGENDWAS....
    	Sleep (6000);
    
    	BOOL ret = ::DestroyWindow(hWnd);
    

    Dieser Dialog, der da eingeblendet wird, hat ein Fortschrittsbalken.
    Wie kann ich auf diesen zugreifen?
    Könnt Ihr mir helfen? 😕

    PS: Dieser "Bitte warten" - Dialog hat noch keine Klasse.... Weil ich das nicht gebrazchrt habe um ihn "nur" einzublenden.



  • Der Dialog braucht auch nicht unbedingt eine Klasse. Mit der Funktion GetDlgItem kannst du das HWND deines Progressbars ermitteln:

    // Fenster des Progress-Bars ermitteln
    HWND hWndProgress = ::GetDlgItem( hWnd, IDC_MY_PROGRESS );
    
    // Position der Anzeige anpassen
    SendMessage( hWndProgress, PBM_SETPOS, (WPARAM)nNewPos, 0 );
    


  • Hi! Danke für Deine Antwort! 🙂
    Bin jetzt leider schon zuhause. Werde es am Montag im Büro gleich testen!!



  • Es geht nichts über SendMessage(...) 😉 Noch die Farbe verändern?

    // Farbe des Fortschrittsbalkens anpassen:
    ::SendMessage(hwndProgress, PBM_SETBARCOLOR, 0, (LPARAM) RGB(255,0,0));
    


  • Cool das klappt prima!!!
    Ihr seit echt super!!

    Aber eine Frage hab ich noch.
    Was bedeutet das der Doppelpunkt bei SendMessage?
    ::SendMessage

    Und wieso geht es nur mit diesem Doppelpunkt?

    PS: Die Farbe verändert es aber nicht. Es bleibt immernoch grün.
    ...im XP Style eben...


Anmelden zum Antworten