static HINSTANCE hLibrary = LoadLibrary("riched32.dll");
switch (message)
{
case WM_CREATE:
hLBox1 = CreateWindowEx(0L, "RichEdit", NULL,
WS_CHILD | WS_VISIBLE | ES_SAVESEL |
ES_MULTILINE | WS_VSCROLL |
LBS_MULTIPLESEL | ES_SUNKEN |
ES_AUTOVSCROLL | ES_READONLY,
1, 55, 470, 635,
hWnd, (HMENU)ID_LBOX1,
hInst, NULL);
break;
........................
case WM_DESTROY:
FreeLibrary(hLibrary);
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
Вопросы по RichEdit WinApi
Код:
На выделенной строчке вылетает с ошибкой:
Код:
Unhandled exception at 0x74e10b09 in Test.exe: 0xC0000005: Access violation reading location 0x74e10b09.
Почему?
Если убрать строку с выгрузкой библиотеки, ошибки нет. Как сделать выгрузку библиотеки, не вызывающую ошибок?
Какое отправить сообщение для очистки содержимого RichEdit?
Возможно ли в RichEdit выделение текста как в listbox, т.е. только отдельными строками?
хотя бы помогите с очисткой RichEdit'a
Цитата: rusek
Почему?
Если убрать строку с выгрузкой библиотеки, ошибки нет.
Потому что
Как сделать выгрузку библиотеки, не вызывающую ошибок?
Можешь не выгружать, если завершаешь работу приложения. Можешь прилинковать статически. Можешь выгружать после очереди сообщений или на другом сообщении.
Цитата: rusek
Какое отправить сообщение для очистки содержимого RichEdit?
Какой-нибудь EM_SETTEXTEX, у тебя интернет или гугл отключили?
Цитата: rusek
Возможно ли в RichEdit выделение текста как в listbox, т.е. только отдельными строками?
С дополнительным программированием наверняка можно.
Если бы нашел, то здесь не спрашивал бы. Логично?
Сколько я знаю текстовых редакторов - например, Notepad, Wordpad, редакторы разных IDE - ни в одном нет команды очистки. Сделать это можно выделением всего содержимого - Ctrl+A, а потом удалить выделенное - скажем, нажать Delete.
Может, так и надо делать? Посылкой двух сообщений.