Pobieranie tekstu z edit control do zmiennej

0

Cześć, tak jak w temacie mam problem z pobraniem tekstu wpisanego w edit control do zmiennej CString .Próbowałem robić to za pomocą GetWindowTextW() ale wyskakuje mi błąd "Debug Assertion Failed"

	m_Pesel.GetWindowTextW(Pesel);
0

Dlaczego metoda GetWindowTextW pobiera u Ciebie tylko jeden parametr, podczas gdy tutaj mam napisane, że:

int
WINAPI
GetWindowTextA(
    _In_ HWND hWnd,
    _Out_writes_(nMaxCount) LPSTR lpString,
    _In_ int nMaxCount);
_Ret_range_(0, nMaxCount)
WINUSERAPI
int
WINAPI
GetWindowTextW(
    _In_ HWND hWnd,
    _Out_writes_(nMaxCount) LPWSTR lpString,
    _In_ int nMaxCount);
#ifdef UNICODE
#define GetWindowText  GetWindowTextW
#else
#define GetWindowText  GetWindowTextA
#endif // !UNICODE

Typ CString zawiera znaki typu wchar_t, co także oddaje wykorzystana przez Ciebie metoda. Więc (ponieważ nie pokazałeś całego kodu) wnioskuję, że to powinno działać.

Ja u siebie kiedyś zrobiłem to tak:

void WindowC::ReadFrame( const MainControlls_t textFrame )
{
    wchar_t* tmpTextBuffer = new wchar_t[ MAX_USER_DATA_TEXT_LENGTH ];
    memset( tmpTextBuffer, '\0', MAX_USER_DATA_TEXT_LENGTH );

    // Pobieram text z ramki podanej jako parametr  textFrame do bufora tmp
    GetWindowText( controlls.at( textFrame ), tmpTextBuffer, MAX_USER_DATA_TEXT_LENGTH );

    // Tutaj przekopiowuję bufor do odpowiedniego miejsca w systemie
    ...

    delete[] tmpTextBuffer;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1