(no subject)
Jan. 21st, 2009 10:05 pmПонадобился мне, значиццо контрол, который редактирует HTML. Со ссылками, картинкой там итд.
Зачем -- не спрашивайте, считайте меня извращенцем.
А поскольку доверить некому -- занимаюсь быдлокодингом.
Самый простой способ -- подгрузить и разрешить редактирование about:blank в стандартный web-control.
А дальше начинеццо шаманство.
Например я хочу отследить, был ли изменён документ. Действия, выполняемые через меню/тулбар отслеживаются тупо. А вот нажатие клавиши в контроле -- хрен. Никак. Не поддерживаеццо, хоть в интерфейсе и прописано.
Ну отнаследовался, выяснил что до обработки сообщений (Message Procedure) нажатия клавиш не доходят. Только до PreProcessMessage.
Получить свойства текста около курсора или выделеного текста можно. Но вот сообщения от мышки не ловяццо вообще ( перенесли курсор мышкой -- информация не обновилась --лажа ). Поэтому приходится идти совсем уж квадратно-гнездовым способом, запрашивая у контрола N раз в секунду "А что там за фигня под курсором творится?"
При этом цвет сцуко почему-то устанавливается как строка с RGB в виде 0xFFFFFF, а выдаётся иногда интом а иногда строкой. Причём не как RGB а как BGR. (Я бы понял ещё ARGB->GBAR)