нужно сделать вот как на картинке, собсно из программы мирк, там над ником меняется указатель и нужно получать текст к примеру ника когда пользователь щёлкает правой кнопкой мыщи,и чтоб нежно было менять цвет любых слов. посматрел имя класса STATIC но как при помощи него такое делать даже непойму _276563614__Untitled_1.gif
WM_CTLCOLORSTATIC поможет отрисовать цвет отдельных слов? а как сделать также возможным выделения текста?
если отдельный цвет для каждого слова, то рисуй сам: DrawText + DT_CALCRECT + SetTextColor + SetBkColor
Ну вот же: DrawText + DT_CALCRECT Передавай последовательно в DrawText строку, которая состоит из 0,1,2,3 и т.д. слов исходного текста. Как только координаты курсора, передаваемые при WM_MOUSEMOVE через lParam, попадут в RECT, - значит мышь над последним добавленным в строку словом.
но ведь DrawText + DT_CALCRECT позволяет только узнать размер текста, так выходит если к примеру мне надо вычислять каждый раз над каким словом щас курсор, вычисляя всё по пикселам
Все правильно. Вычислять по пикселям. Потому что нет функции WordFromPoint, которая бы возвращала слово, над которым находится указатель мыши.
а если так с RichEdit Код (Text): mask := SendMessage(Handle, EM_GETEVENTMASK, 0, 0); SendMessage(RichEdit1.Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK); SendMessage(RichEdit1.Handle, EM_AUTOURLDETECT, Integer(True), 0); то после этого он выделяет слова к примеру на www.чтото там может можно както исправить базу этих слов?