Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2013, 21:12   #1
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию Отловля события копирования в буфер обмена

Привет. Пытаюсь отловить событие, которое Windows посылает при копирование чего-то в буфер обмена. Вот код:
Код:
procedure CopyClipboard(tag: TMessage); message WM_Copy;

procedure TForm1.CopyClipboard(tag: TMessage);
begin
if tag.Msg=WM_Copy then
begin
if CB.HasFormat(CF_Picture) then
begin
image1.Picture.Assign(CB);
Button3.Enabled:=true;
CoolTrayIcon1.ShowBalloonHint('Сooбщение','Картинка была скопирована в буфер обмена, вы можете её вставить в файл',bitinfo,30);
end;
if CB.HasFormat(CF_BitMap) then
begin
image1.Picture.BitMap.Assign(CB);
Button3.Enabled:=true;
CoolTrayIcon1.ShowBalloonHint('Сообщение','Изображение типа bmp было скопировано в буфер обмена, вы можете его использовать',bitinfo,30);
end;
end;
if CB.HasFormat(CF_TEXT) then
CoolTrayIcon1.ShowBalloonHint('Сообщение','В буфер обмена был скопирован текст',bitinfo,20);
end;
Но на объявление процедуры выдает ошибку: Invalid message parameter list
Место куда попадает курсор: После слова message. Что делать? Как решить?
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 15.08.2013, 21:44   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Всё! Решил. Тему закрыть.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 15.08.2013, 22:59   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Лучше бы вы написали, как это сделали, так как это может оказаться интересным/полезным для других.
Вадим Мошев вне форума Ответить с цитированием
Старый 15.08.2013, 23:02   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

саша40, я надеюсь вы в курсе что wm_copy вам не помощник?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.03.2014, 17:21   #5
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Можете подсказать решение проблемы?
HTTqp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Буфер обмена Gudzik11 Общие вопросы Delphi 2 19.02.2013 10:59
Буфер обмена DolgoDoom Общие вопросы Delphi 6 30.05.2011 13:59
Буфер обмена nusik Общие вопросы Delphi 2 21.05.2009 00:53
буфер обмена __@cmd@__ Общие вопросы Delphi 2 04.02.2009 12:24