Auf Progressbar außerhalb der Dialogklasse zugreifen
-
Hallo zusammen,
ich habe ein Problem und zwar kann ich auf eine Progressbar außerhalb meiner Dialogklasse nicht zugreifen.Mein vorgehen:
1. Ich übergebe den HWND der Dialogklasse mit einer GetHWND Methode
2. nun möchte ich auf meine Progressbar zugreifen:
CProgressCtrl *pBar = (CProgressCtrl *)GetDlgItem(hWnd,IDC_PROGRESS);hWnd hat den gleichen Wert als m_hWnd der Dialogklasse.
Wenn ich nun pBar->m_hWnd beim Debuggen betrachte ist dieser Wert NULL warum?? was mache ich falsch?? wie kann ich pBar den richtigen HWND übergeben??danke im voraus....
-
Du kannst deinem ProgressControl eine Variable zuweisen. Wenn du diese dann public machst, kannst du, nachdem du ein Objekt von deiner Dialog Klasse erstellt hast, darauf zugreifen.
-
Oder du kannst deinem Dialog eine message schicken was er mit der Progressbar machen soll.
-
Danke für die schnellen Antworten.
ZU Azatoth: das mit der Variable habe ich auch schon versucht nur weiss ich nicht wie ich dann mit dieser Variable weiter machen muss.
ZU EOP: wie kann ich so eine message senden??vielleicht nochmal mein problem:
klasse1 = dialogklasse
klasse2 = in dieser klasse wird der fortschritt berechnet. von hieraus möchte ich die controllbar in klasse 1 ansprechen.
klasse2 wird in klasse1 (dialog) über einen button aufgerufenweiterhin kann ichs nicht verstehn, dass ich den hwnd des dialogs an die klasse2 übergeb und ein textfeld in der klasse1 ändern kann!?!?
-
Klasse 2 von CWinThread ableiten, dann kannst du messages senden und empfangen und die GUI vom Dialog wird auch nicht blockiert.