Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Плохо ловится 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.066 c
15-1333744203
Юрий
2012-04-07 00:30
2013.03.22
С днем рождения ! 7 апреля 2012 суббота


2-1346240125
s_t_d
2012-08-29 15:35
2013.03.22
Диалог SaveDiaalog не сохраняет файл...


2-1338711145
Разветка
2012-06-03 12:12
2013.03.22
как заставить выполнить полность все условия


9-1193310589
fars
2007-10-25 15:09
2013.03.22
Программирование логических игр


2-1333342741
Екатерина
2012-04-02 08:59
2013.03.22
variant massiv





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский