Zugriff auf Dialogelemente aus Funktion
-
Hallo,
auf meinem Dialog habe ich ein Statusfenster, welches ich unter (Button 'RUN')
void CAttitude_3Dlg::OnRUN()mit
SetDlgItemText(IDC_APP_STATUS,"TEST");beschreibe .. funktioniert wunderbar! Versuche ich jedoch das ganze von einer separat definierten Funktion aufzurufen, meldet er
Funktion akzeptiert keine 2 Parameter
Wie kann ich meine Funktion in 'CAttitude_3Dlg' einbinden, damit ich auf die Elemente wie gewohnt zugreifen kann?
Gruß
Michael
-
SetDlgItemText() ist eine Methode von CWnd (und damit auch von CDialog). Und Deine Funktion ist mit Sicherheit keine Methode Deines von CDialog abgeleiteten Dialoges.
Also versucht der Compiler es mitBOOL SetDlgItemText( HWND hDlg, // handle of dialog box int nIDDlgItem, // identifier of control LPCTSTR lpString // text to set );und das sind eindeutig 3 Parameter......
Spendier Deinem Dialog eine public SetStatusText()-Methode, die den Text setzt und rufe diese aus Deiner Funktion auf. Dazu benötigst Du natürlich in Deiner Funktion einen einen Pointer oder eine Referenz auf Deinen Dialog.
-
Hm.. du kannst entweder die Funktion deinem Dialog hinzufügen (also als Memberfunktion... wenn du das willst!) oder mit
// Gilt nur, wenn der Dlg in dem sich das Ctrl befindet der Hauptdialog ist! An sonnsten muss du einen Pointer im Konstruktor odg. mit übergeben! AfxGetMainWnd()->SetDlgItemText(IDC_APP_STATUS, "TEST");
-
Besten Dank!!