Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Плохо ловится WM_DRAWCLIPBOARD ричедитом   Найти похожие ветки 

 
TStas   (2012-05-21 17:05) [0]

Ловлю так, как в книжке написано:
procedure TStCodeEditor.WMDrawClipboard(var Msg: TWMDrawClipboard);
begin
 SendMessage(FClipBoardOwner, WM_DRAWCLIPBOARD, 0, 0);
 Msg.Result := 0;
 ShowMessage("WM_DRAWCLIPBOARD");
 ClipBoardChanged;
end;

Ещё ловятся сообщения
EM_STREAMIN;
WM_PAINT;
WM_RBUTTONUP;
WM_RBUTTONDOWN;
WM_DRAWCLIPBOARD;
EM_SETREADONLY;
CN_KEYDOWN;
CN_KEYUP;
WM_PASTE;
WM_SETTEXT;
WM_MOUSEMOVE;
Наблюдателя создаю в конструкторе. Раньше всё было нормально. А теперь установил компонент в среду, исправил косяки и сдуру стёр все старые варианты. Сообщения, перечисленные выше, и раньше ловились.
В принципе, один раз сообщение ловится, но когда я начинаю в буфер копировать не текст, например, файлы, то об этом сообщение не доходит. Специально на форму положил EDit, чтобы с ним сравнивать. С эдитов всё нормально. Он делает недоступной вставку, когда в буфере не текст, а мой не делает. :(
Главное, непонятно где искать косяк. Просмотрел всю родословную до TControl, никто из них не отлавливает WM_DRAWCLIPBOARD. Но EDit ведь знает об изменении содержимого буфера.
С какой хоть стороны косяк искать?


 
TStas   (2012-05-21 19:33) [1]

Оказалось, надо CreateWnd перекрывать. Ведь когда она вызывается, меняется Handle, соответсвенно, наблюдатале уведомляет по недействительному дискриптору. :) Сам додумался:)
Вопрос снят. Не знаю, правильно ли я сделал, что написал? А то такая странная ветка получается: "Тихо сам с собою я веду беседу". :)


 
Давайте будем жрать!   (2012-05-21 21:57) [2]


> Не знаю, правильно ли я сделал, что написал?
Вполне правильно.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.059 c
15-1342466570
MsGuns
2012-07-16 23:22
2013.03.22
Умер Джон Лорд


15-1349873116
RTF
2012-10-10 16:45
2013.03.22
Сжать график.


3-1286948670
Ciberrus
2010-10-13 09:44
2013.03.22
ошибка property already defined by lookup field


15-1352775498
Abcdef123
2012-11-13 06:58
2013.03.22
Современные тенденции пользовательского интерфейса


15-1343713763
Артём
2012-07-31 09:49
2013.03.22
MD5 hash