1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
int nbLig = ::SendMessage(GetDlgItem(_hSelf, IDC_EDIT_FILTER), EM_GETLINECOUNT, 0, 0);
for (int lineIndex = 0; lineIndex < nbLig; lineIndex++)
{
int characterIndex = ::SendMessage(_hSelf, EM_LINEINDEX, (WPARAM)lineIndex, (LPARAM)0);
int lineLength = ::SendMessage(_hSelf, EM_LINELENGTH, (WPARAM)lineIndex, (LPARAM)0);
if (lineLength > 0)
{
TCHAR* pBuffer = new TCHAR[lineLength + 1];
if (pBuffer)
{
// Set the size of the buffer
*(WORD*)pBuffer = lineLength + 1;
// Retrieve the line
int characterCount = ::SendMessage(_hSelf, EM_GETLINE, (WPARAM)lineIndex, (LPARAM)pBuffer);
// NUL-terminate buffer
pBuffer[characterCount] = TEXT('\0');
DebugMsg(TEXT("lineindex: %d characther index: %d linelength: %d buffer: %s\n"), lineIndex, characterIndex, lineLength, pBuffer);
delete[] pBuffer;
}
}
}
for (int i = 0; i < nbLig; i++)
{
int characterIndex = SendMessage(_hSelf, EM_LINEINDEX, i, 0);
int length = SendMessage(_hSelf, EM_LINELENGTH, characterIndex, 0);
if (length > 0)
{
TCHAR* buffer = new TCHAR[length + 1];
if (buffer)
{
buffer[length] = '\0';
buffer[0] = length;
SendMessage(_hSelf, EM_GETLINE, (WPARAM)i, (LPARAM)buffer);
DebugMsg(TEXT("i: %d length: %d buffer: %s\n"), i, length, buffer);
delete[] buffer;
}
}
}
for (int i = 0; i < nbLig; i++)
{
int length = SendMessage(_hSelf, EM_LINELENGTH, (WPARAM)i, 0);
TCHAR* buffer = new TCHAR[length + 1];
buffer[0] = length + 1;
buffer[length] = '\0';
SendMessage(_hSelf, EM_GETLINE, (WPARAM)i, (LPARAM)buffer);
DebugMsg(TEXT("i: %d buffer: %s\n"), i, buffer);
delete[] buffer;
} |
Partager