![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Allest |
|
|||
|
Unregistered |
Посылаю сообщение EM_GETTEXTRANGE, RichEdit возращает текст, в котором русские буквы заменены на "?", с английскими нормально.
А на сообщение EM_GETSELTEXT возвращает пробелы вместо выделенных русских букв. Почему? Как получить русские? ps. Можно конечно с помощью EM_STREAMOUT и WM_GETTEXT, но хочется разобраться. |
|||
|
||||
| B2_Russia |
|
|||
![]() В доску свой :) ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: нет Всего: 1 |
Под WinAPI или MFC пишешь?
|
|||
|
||||
| Allest |
|
|||
|
Unregistered |
API
RichEdit20A Visual C++ 6.0 |
|||
|
||||
| ziga |
|
|||
|
Unregistered |
Handle - handle na RichEdit okno
wsText - nll terminated wchar_t* set text from UNICODE string: int lo = SendMessage(Handle, EM_GETLANGOPTIONS, 0, 0); lo = lo&~IMF_AUTOFONT; lo = lo&~IMF_AUTOFONTSIZEADJUST; SendMessage(Handle, EM_SETLANGOPTIONS, 0, lo); SETTEXTEX stTextEx; stTextEx.codepage = 1200; stTextEx.flags = ST_DEFAULT; SendMessage(Handle, EM_SETTEXTEX, (WPARAM)&stTextEx, (LPARAM)wsText); get text to UNICODE string: GETTEXTLENGTHEX gtl; gtl.flags = GTL_DEFAULT; gtl.codepage = 1200; long nCharCount = SendMessage(Handle, EM_GETTEXTLENGTHEX, (WPARAM)>l, (LPARAM)0); if (nCharCount==0) return L""; wchar_t* buff = new wchar_t[nCharCount+1]; memset(buff, 0, 2*(nCharCount+1)); GETTEXTEX gt; gt.flags = GT_DEFAULT; gt.cb = 2*(nCharCount+1); gt.codepage = 1200; gt.lpDefaultChar = NULL; gt.lpUsedDefChar = NULL; ::SendMessage(Handle, EM_GETTEXTEX, (WPARAM)>, (LPARAM)buff); return buff; |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |