HideCaret не сработывает.. RichEdit в режиме ES_READONLY, и курсор там не нужен. Собственно 2 задачи, как убрать курсор из RichEdit, и как сделать чтоб курсор mous'a при наведении на поле RichEdit'a, не менялся? С первой задачкой бы справился с помощью обработки сообщения WM_SETFOCUS еслиб не кой-какие сложности. Дело в том, что нужно при выделении текста - копировать. И вот как это реализовал Код (Text): NewRichEditProc proc hCtl:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD .if uMsg ==WM_LBUTTONDOWN invoke SendMessage,hCtl,EM_HIDESELECTION,0,0 .elseif uMsg ==WM_LBUTTONUP invoke SendMessage,hCtl,WM_COPY,0,0 invoke SendMessage,hCtl,EM_HIDESELECTION,1,0 .endif invoke CallWindowProc,hNewRichProc,hCtl,uMsg,wParam,lParam ret NewRichEditProc endp
n0name, спасибо, получилось.. Нашёл функцию DestroyCaret, но не знаю куда-бы поставить чтоб рас и навсегда убить курсор, даже при нажатии мышки на поле он бы не появился.. Сделал вот так, и безрезультатно. Код (Text): .elseif uMsg ==WM_ACTIVATE call DestroyCaret
Серавно при WM_LBUTTONDOWN Caret'a показывается... Видать окончательно убрать не удастся. Да уже не так важно, главное сделал так что скролл не сбивается при выделении. Спасибо, n0name