jlanza
February 26th, 2008, 08:22 AM
Hi I was beginning to work with a Rich Edit control in VS 2008. I am able to create the rich edit via CreateWindowEx, but something isn't working when I try to send it a message. The first test piece of code I was trying to write was a way to save everything that had been typed into the rich text.
void SaveBuffer(HWND hWnd)
{
GETTEXTLENGTHEX gtlxstruct;
gtlxstruct.codepage = 1200;
gtlxstruct.flags = GTL_NUMBYTES;
DWORD dwBufferSize = ::SendMessage(hWnd, EM_GETTEXTLENGTHEX, (WPARAM) >lxstruct, 0);
GETTEXTEX gettextexstruct;
gettextexstruct.cb = dwBufferSize;
gettextexstruct.codepage = 1200;
gettextexstruct.flags = GT_DEFAULT;
gettextexstruct.lpDefaultChar = NULL;
gettextexstruct.lpUsedDefChar = NULL;
char* pszSaveBuffer = new char[dwBufferSize + 1];
LRESULT lResult = ::SendMessage(hWnd, EM_GETTEXTEX, (WPARAM) &gettextexstruct, (LPARAM) pszSaveBuffer);
ofstream outfile(_T("new.txt"), ofstream::binary);
outfile.write(pszSaveBuffer, dwBufferSize + 1);
outfile.close();
delete [] pszSaveBuffer;
}
Both the dwBuffSize and lResult are 0. Even when I say assign 100 to dwBuffSize lResult is still 0. Could someone please help?
Thanks!
void SaveBuffer(HWND hWnd)
{
GETTEXTLENGTHEX gtlxstruct;
gtlxstruct.codepage = 1200;
gtlxstruct.flags = GTL_NUMBYTES;
DWORD dwBufferSize = ::SendMessage(hWnd, EM_GETTEXTLENGTHEX, (WPARAM) >lxstruct, 0);
GETTEXTEX gettextexstruct;
gettextexstruct.cb = dwBufferSize;
gettextexstruct.codepage = 1200;
gettextexstruct.flags = GT_DEFAULT;
gettextexstruct.lpDefaultChar = NULL;
gettextexstruct.lpUsedDefChar = NULL;
char* pszSaveBuffer = new char[dwBufferSize + 1];
LRESULT lResult = ::SendMessage(hWnd, EM_GETTEXTEX, (WPARAM) &gettextexstruct, (LPARAM) pszSaveBuffer);
ofstream outfile(_T("new.txt"), ofstream::binary);
outfile.write(pszSaveBuffer, dwBufferSize + 1);
outfile.close();
delete [] pszSaveBuffer;
}
Both the dwBuffSize and lResult are 0. Even when I say assign 100 to dwBuffSize lResult is still 0. Could someone please help?
Thanks!