peng
04-05-2010, 10:53
Ciao a tutti,
Sto facendo fatica a caprie come recuperare il testo da una edit box in MFC. La mia view class ha le seguenti variabili associate ad una edit box e ad una static label che ho aggiunto al frame:
CEdit inputEditBox;
CStatic flippedNameStaticVar;
Ho inoltre aggiunto il seguente metodo associato al cambiamento del testo nella edit box:
afx_msg void OnEnChangeInputeditbox();
Ora, vorrei poter fare il semplice compito di mostrare il testo scritto in input nella static label (flippedNameStatiVar).
Purtroppo sono perso..
sto usando VS 2008 Prof. Ho inoltre provato le seguenti:
void CFlippedNameTreeView::OnEnChangeInputeditbox()
{
LPTSTR bufferStr = L"text displayed";
int bufferLenght = this->inputEditBox.GetWindowTextLengthW();
this->inputEditBox.GetWindowTextW(bufferStr,bufferLenght);
this->flippedNameStaticVar.SetWindowTextW(bufferStr);
}
Purtroppo il testo "displayato" nella static label e' e rimane "text displayed" e nn il testo scritto dall'usare nella edit box.
Inoltre, nn sn capace di accedere alla GetWindowText function che, stante ad alcuni forum, e' utilizzabile. Purtroppo mi da errori di compilazione dicendo che nn e' definita.
Ho qnd provato a capire se il buffer del testo letto era == a zero oppure no, e nn sn stao capace nemmeno a "displayare" tale valore.. (imbranato me!).
Ho infatto aggiunto le seguenti righe di codice..
CString ls;
ls.Format("%d",bufferLenght);
LPTSTR bL;
test = ls.GetBuffer(ls.GetLength);
this->flippedNameStaticVar.SetWindowTextW(bL);
e questi sn gli errori dati a compilation time:
error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
Credo che sn un po' nella xxxx come livello di apprendimento MFC e de dovro' sbattermi parecchio, ma mi domandavo se qlc potesse offrirmi un chiarimento in merito ai problemi di cui sopra.
Grazie!
Sto facendo fatica a caprie come recuperare il testo da una edit box in MFC. La mia view class ha le seguenti variabili associate ad una edit box e ad una static label che ho aggiunto al frame:
CEdit inputEditBox;
CStatic flippedNameStaticVar;
Ho inoltre aggiunto il seguente metodo associato al cambiamento del testo nella edit box:
afx_msg void OnEnChangeInputeditbox();
Ora, vorrei poter fare il semplice compito di mostrare il testo scritto in input nella static label (flippedNameStatiVar).
Purtroppo sono perso..
sto usando VS 2008 Prof. Ho inoltre provato le seguenti:
void CFlippedNameTreeView::OnEnChangeInputeditbox()
{
LPTSTR bufferStr = L"text displayed";
int bufferLenght = this->inputEditBox.GetWindowTextLengthW();
this->inputEditBox.GetWindowTextW(bufferStr,bufferLenght);
this->flippedNameStaticVar.SetWindowTextW(bufferStr);
}
Purtroppo il testo "displayato" nella static label e' e rimane "text displayed" e nn il testo scritto dall'usare nella edit box.
Inoltre, nn sn capace di accedere alla GetWindowText function che, stante ad alcuni forum, e' utilizzabile. Purtroppo mi da errori di compilazione dicendo che nn e' definita.
Ho qnd provato a capire se il buffer del testo letto era == a zero oppure no, e nn sn stao capace nemmeno a "displayare" tale valore.. (imbranato me!).
Ho infatto aggiunto le seguenti righe di codice..
CString ls;
ls.Format("%d",bufferLenght);
LPTSTR bL;
test = ls.GetBuffer(ls.GetLength);
this->flippedNameStaticVar.SetWindowTextW(bL);
e questi sn gli errori dati a compilation time:
error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
Credo che sn un po' nella xxxx come livello di apprendimento MFC e de dovro' sbattermi parecchio, ma mi domandavo se qlc potesse offrirmi un chiarimento in merito ai problemi di cui sopra.
Grazie!