einfacher Fortschrittsbalken
-
Hallo!
Das Thema hat es bestimmt in der Art schonmal gegeben, aber ich habe die Suche jetzt lange genutzt und nich das passende gefunden.
Also ich möchte einen einfachen Fortschrittsbalken in ein Dialogfenster einbauen. Am besten wäre es mit dem in Visual Studio vorgegebenen Balken. Kennt jemand dafür ein gutes tutorial, wo ich mir sowas einmal anschauen kann?
Besten Dank!
-
Also dafür sollte die Doku eigentlich ausreichen. Du brauchst eh nur SetRange und SetPos oder SetRange und SetStep/StepIt. Einfach mal die MSDN Doku dafür durchlesen, mal kurz ausprobieren und dann sollte es eigentlich schon klappen;)
-
Gerade ein paar Beiträge vorher gab es das Thema schon. Da erkläre ich auch wie man den Fortschrittsbalken (ProgressBar) einbaut. Die restlichen nützlichen Funktionen hat dir template aufgeschrieben
http://www.c-plusplus.net/forum/viewtopic-var-t-is-108358.html
-
Ah super, besten Dank!
-
Also ich habe mir das mal angeschaut und die Funktion auch verstanden denke ich. Allerdings habe ich jetzt ein komisches Problem. Ich versuche das mal zu schildern. Ich habe eine Dialogklasse, in der wird ein Objekt einer meiner eigenen Klassen erzeugt. In der Dialogklasse gibt es eine Variable m_balken, die mit dem Progress Bar verbunden ist. Wenn ich in einer Methode der Dialogklasse den Progress Bar anspreche geht das wunderbar. Nun brauche ich es aber so:
In einer Methode meiner eigenen Klasse möchte ich den Balken ansprechen können. Dazu habe ich meiner Klasse einen Zeiger vom Typ CDialog* hinzugefügt. Ich setze diesen Zeiger in einer Methode meiner Dialogfunktion, so daß er also auf meinen Dialog verweist. Jetzt sollte ich doch über den Zeiger in der Lage sein, alles aus der Dialogklasse anzusprechen. Leider sagt er mir dann, daß m_balken gar kein Element der Dialogklasse ist, obwohl m_balken sogar in diesem drop down menü angezeigt wird. Der Befehl in meiner eigenen Klasse sieht so aus:((CFiletransferDlg*)m_Dialog)->m_balken.SetRange(0,100);
((CFiletransferDlg*)m_Dialog)->m_balken.SetPos(50);Wieso bekomme ich da diese Fehlermeldungen?
error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_balken'
error C2501: 'CProgressCtrl' : Fehlende Speicherklasse oder Typbezeichner
error C2501: 'm_balken' : Fehlende Speicherklasse oder Typbezeichner
error C2039: 'm_balken' : Ist kein Element von 'CFiletransferDlg'
Siehe Deklaration von 'CFiletransferDlg'
error C2039: 'm_balken' : Ist kein Element von 'CFiletransferDlg'
Siehe Deklaration von 'CFiletransferDlg'
error C2228: Der linke Teil von '.SetPos' muss eine Klasse/Struktur/Union seinAh und wenn ich die header-Datei der Dialogklasse nicht in der cpp-Datei meiner Klasse einbinde aber den Code sonst nicht ändere bekomme ich folgende Fehlermeldungen:
error C2065: 'CFiletransferDlg' : nichtdeklarierter Bezeichner
error C2059: Syntaxfehler : ')'
error C2059: Syntaxfehler : ')'Und wenn ich die Befehle zum ansprechen von m_baken ganz rausnehme bekomme ich keinen Fehler.
Ich werde daraus nicht schlau. Kann das an der Reihenfolge der inlcudeten Header-Dateien liegen oder so? Leider bin ich nicht grade ein MFC Spezialist und muß mich da durchkämpfen.
Vielen Dank schonmal!
-
Alles klar, habe den Fehler gefunden! Manchmal ist man einfach zu dumm. Hatte in meiner Dialogklasse den Header afxcmn.h nicht eingebunden, daher kamen die Fehler!