Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Pointer auf eine Textbox (Dialog)

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
10.09.2004, 11:57 Uhr
~Lennon
Gast


Hi,
wie bekomme ich einen Zeiger auf eine Textbox auf einem Dialog.
Bekannt ist mir nur der Dialog; wie die TextBox heißt, bzw. was für eine
ID sie hat weiß ich nicht.

Brauch sehr dringend Hilfe !


Danke, Lennon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.09.2004, 12:27 Uhr
Tommix



Hallo,

C++:
CWnd* pWnd->GetDlgItem(IDC_TEXTBOX); // im Dialog bzw.
CWnd* pWnd = my_Dialog.GetDlgItem(IDC_TEXTBOX); // von ausserhalb


Der Zeiger kann dann auf das entsprechende Control gecastet werden.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.09.2004, 13:36 Uhr
~Lennon
Gast


Danke, aber genau das ist mein Problem:
Ich weiß ja nicht sie diee IDC von der Textbox ist !
Die von dir angegebene IDC_TEXTBOX bringt, da sie nicht definiert ist eine Fehlermeldung.
Ich muss ja erst die Textbox auf dem Dialog suchen ...

Vielleicht hab ich aber auch kein Beispiel falsch angewendet !

Gruß, Lennon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.09.2004, 14:43 Uhr
Tommix



Nein, ich hab nicht richtig gelesen.
Evtl. hilft Dir dieser Link weiter, aber wie man da herausfindet, ob die Controls nun Buttons oder Editfelder oder sonst etwas sind, weiß ich jetzt auch nicht.

- Tommix

Dieser Post wurde am 10.09.2004 um 14:44 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.09.2004, 18:09 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von Tommix:
Hallo,

C++:
CWnd* pWnd->GetDlgItem(IDC_TEXTBOX); // im Dialog bzw.
CWnd* pWnd = my_Dialog.GetDlgItem(IDC_TEXTBOX); // von ausserhalb


Der Zeiger kann dann auf das entsprechende Control gecastet werden.

- Tommix


Das ist falsch!!
Wenn das Control nicht explizit selber per Create erzeugt wurde,oder mit SubclassDlgItem festgelegt wurde dass das Control seine Nachrichten selber bearbeitet,liefert GetDlgItem einen Zeiger auf ein temporäres CWnd Objekt.Genau genommen handelt es sich um ein Objekt der MFC-internen Klasse CTempWnd.Da kannst du casten bis der Arzt kommt,es ist und bleibt ein CWnd!!
Wenn du jetzt schwörst dass du Code dieser Art schon 10000000 mal benutzt hast und es immer funktioniert hat dann liegt das daran dass der CWnd Zeiger intern mit einem Windowhandle assoziiert ist an das die entsprechende Nachricht gesendet wird.
Da es sich bei dem "echten" Control,das hinter dem Handle steht,ja um diesen Typ handelt kann es geeignet auf die Nachricht reagieren.
Wäre die Methode die du über den Zeiger Aufrust virtual würde die CWnd Variante aufgerufen,wenn es denn eine gibt . Ansonsten kackt das Programm ab.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.09.2004, 19:18 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Hmm. Hab ich noch nie gehört/gelesen. Also die MSDN weist darauf nicht explizit hin
Wie greifst du auch ein Dlg Item zu (z.B. mit dem Ressource editor erzeugt)?
mfg
--

Dieser Post wurde am 10.09.2004 um 19:20 Uhr von mike editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.09.2004, 20:31 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von mike:
Hi!
Hmm. Hab ich noch nie gehört/gelesen. Also die MSDN weist darauf nicht explizit hin
Wie greifst du auch ein Dlg Item zu (z.B. mit dem Ressource editor erzeugt)?
mfg


Schau dir das mal an:

www.microsoft.com/msj/0997/c0997.aspx

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.09.2004, 21:05 Uhr
mike
Pinguinhüpfer
(Operator)


Thx. kewl. Wieder was dazu gelernt

mfg
--
 
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: