Проблема с Edit'ом (сообщение EM_GETLINE)
TCHAR lpStrEdit[40];
.....
SendMessage(hEdit, EM_GETLINE, 0, (LPARAM)lpStrEdit);
Врезультате на некоторых машинах данный метод работае некоректно (т.е. получаем пустую строку в lpStrEdit), хотя на отдельных компах все OK.
Так вчем же дело? Может кто сталкивался с такой проблемой или поправте меня если че не так!
Использую Visual C++ 6.0, сам диалог (со всеми компонентами) находится в ресурсах, тестировал в Windows XP Prof.
Буду очень благодарен за любую помощь.
Value of lParam. Points to the buffer that receives a copy of the line. The first word of the buffer specifies the maximum number of characters that can be copied to the buffer.
Возможно в этом и кроется ошибка
А вот например функция GetDlgItemText работает без поблем:
[FONT="Courier New"][SIZE="4"][SIZE="2"][SIZE="1"]
UINT WINAPI GetDlgItemText(
HWND hDlg, /* дескриптор родительского диалога */
int idControl, /* идентификатор поля */
LPSTR lpString, /* буфер под текст */
int nMaxCount /* размер буфера */
)[/SIZE][/SIZE][/SIZE][/FONT]
:confused:
Но я о том, что первый word буфера должен содержать максимальный размер строки.
Всем спасибо за внимание :) , тема закрыта.
Цитата: -mix-
Все заработало, нужно было лишь указать кое-какие стили. Так-что проблема крылась в собственной невнимательности.
Всем спасибо за внимание :) , тема закрыта.
Всем спасибо за внимание :) , тема закрыта.
Какие такие стили? У меня та же беда, в обёртке над виндовым контролом, но стилей вообще нет никаких...
Цитата: Илья Ненашев
Какие такие стили? У меня та же беда, в обёртке над виндовым контролом, но стилей вообще нет никаких...
А в первом word'е буффера что? :)