Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » GetDlgItem in anderer Klasse

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.04.2006, 10:50 Uhr
~knopper
Gast


Hallo,

Ich habe eine Klasse:

LogOutDlg::LogOutDlg(CWnd* pParent /*=NULL*/)
: CDialog(LogOutDlg::IDD, pParent)
{

}

In dieser Klasse kann ihc String auf dem Editbox IDC_LOGBOX ausgeben:

C++:
    CString strMessage;
    GetDlgItem( IDC_LOGBOX )->SetWindowText( (LPCTSTR ) strMessage);



Wie kann ich nun in einer anderen Klasse

Class2::class2(void)
{

}


Texte in IDC_LOGBOX ausgeben ?


Wenn Ich so mache:

C++:
CEdit* LogOutBox =(CEdit*) GetDlgItem(IDC_LOGBOX,);

strMessage.Format( _T("test") );

LogOutBox->SetWindowTextW((LPCTSTR )strMessage);




GetDlgItem braucht ein 2. Argument
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.04.2006, 14:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Du musst als ersten Parameter dann von GetDlgItem dein Fensterhandle angeben, also das Handle des Dialoges in dem die Editbox ist.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.04.2006, 10:16 Uhr
~Knopper
Gast


Ich habe

Class A:CDialog
{
CEdit cedit;
B* b;
}

und

Class B
{
Cstring debugmsg;
}

Nun möchte ich fdebugmsgs von Methoden und Threads der Klasse B sofort in einem CEdit Box im Objekt der Klasse A wiedergeben sollen. Wie kann ich das machen ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.04.2006, 19:45 Uhr
xXx
Devil


jo... machst de halt ganz einfach... du brauchst dann halt nur irgendwoher nen Pointer auf die Klasse A. Wenn Class A allerdings die Klasse des Hauptdialogs ist wäre es einfach diesen zu bekommen .


C++:
// LogOutDlg.h
class LogOutDlg : public CDialog
{
// ...
public:
    CEdit* GetLogOutBox(void);
// ...
};

// LogOutDlg.cpp
CEdit* LogOutDlg::GetLogOutBox(void)
{
    return (CEdit*)GetDlgItem(IDC_LOGBOX);
}

// Class2.cpp
// Hier brauchst du den Pointer auf den Dialog A. Wenn es bsw. der MainDlg ist würdest du den Pointer wie folgt bekommen :).
strMessage.Format( _T("test") );
LogOutDlg* pLogOutDlg = (LogOutDlg*)AfxGetMainWnd();
pLogOutDlg->GetLogOutBox()->SetWindowTextW((LPCTSTR)strMessage);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: