Главная страница
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.09 c
2-1333342741
Екатерина
2012-04-02 08:59
2013.03.22
variant massiv


15-1339736544
AV
2012-06-15 09:02
2013.03.22
с одной стороны - в отпуске. С другой - все неправильно


2-1340858129
Wadimka
2012-06-28 08:35
2013.03.22
Вопрос по WB:IWebBrowser2 помогите как-нибудь решить проблему


15-1351086265
Дмитрий С
2012-10-24 17:44
2013.03.22
А что нельзя соединяться с базой через ADO с паролем ";"=


3-1285656778
ABolnykh
2010-09-28 10:52
2013.03.22
Как предотвратить появление окна запроса пароля PasswordDialog?