Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
1

Ловля события копирования в буфер обмена

15.08.2013, 18:36. Просмотров 785. Ответов 5
Метки нет (Все метки)

Здрасте. У меня возникла проблема с отловкой события копирования в буфер обмена. Вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 //проверяю формат в буфере(CB: TClipboard)
begin
image1.Picture.Assign(CB);
Button3.Enabled:=true;
CoolTrayIcon1.ShowBalloonHint('***','***',bitinfo,30);
end;
if CB.HasFormat(CF_BitMap) then //тоже для другого
begin
image1.Picture.BitMap.Assign(CB);
Button3.Enabled:=true;
CoolTrayIcon1.ShowBalloonHint('***','***',bitinfo,30);
end;
end;
if CB.HasFormat(CF_TEXT) then
CoolTrayIcon1.ShowBalloonHint('***','***',bitinfo,20); 
end;
Почему то выдает ошибку: Invalid message parameter list на описание процедуру. Вопрос: Как можно исправить? Юзал яндекс. Выдавало не то(модем у меня).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2013, 18:36
Ответы с готовыми решениями:

Буфер обмена
как занести из делфи инфу(текст) в буфер обмена, а потом вставить ее в любое...

Буфер обмена и ссылка
Добрый день! Как можно получить ссылку из буфера обмена? Т.е. если ты...

Нестандартный буфер обмена
Здравствуйте, Уважаемые профессионалы! Я конено прочитал правила, но к...

Как вырезать файл в буфер обмена?
Нужно вырезать файл в буфер обмена из-под моей программы. Так, чтобы потом...

Прога - Буфер обмена - Word, Excel.
Всех приветствую! Вопрос такой. Как подсказать Ворду и Экселю, что данные в...

5
mss
15.08.2013, 21:27
  #2

Не по теме:

Юзал яндекс. Выдавало не то(модем у меня)
Ну да, конечно.
В патологии как всегда виноват яндекс и модем.

И как всегда навалил кучу говнокода, не имеющего к делу отношения , кроме самого важного - декларации метода CopyClipboard)

И это притом что в справке по теме "Message methods" черным по белому нарисован образец:

For example, on Windows:

type
TTextBox = class(TCustomControl)
private
procedure WMChar(var Message: TWMChar); message WM_CHAR;
...
end;
..
Implementing message methods
..
procedure TTextBox.WMChar(var Message: TWMChar);
begin
if Message.CharCode = Ord(#13) then
ProcessEnter
else
inherited;
end;

1
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
15.08.2013, 21:42  [ТС] 3
mss, тогда скажи мне, почему в модулях нет описания события WM_Copy. Там есть подобный тип, но он без параметров. Может его использовать?

Добавлено через 3 минуты
А не, есть. TWMCopy.... Надо же было такое не заметить. mss, спасибо, навел.
0
mss
2634 / 2258 / 276
Регистрация: 24.12.2010
Сообщений: 13,725
15.08.2013, 21:51 4
Все беды - от спешки и невнимательности.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
15.08.2013, 21:54  [ТС] 5
Цитата Сообщение от mss Посмотреть сообщение
Все беды - от спешки и невнимательности.
Я не спешил! Просто не дочитал модуль.
0
mss
15.08.2013, 22:00     Ловля события копирования в буфер обмена
  #6

Не по теме:

Цитата Сообщение от саша40 Посмотреть сообщение
Просто не дочитал модуль
Это и называется спешкой - сначала ляпнуть, потом думать)

А спешка, как известно, нужна только при ловле блох и поносе)

0
15.08.2013, 22:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2013, 22:00
Привет! Вот еще темы с ответами:

Выделение текста в файле и помещение его в буфер обмена
есть у кого какие идеи как это сделать?

Как записать текст в буфер обмена, который занят программой?
Доброго времени суток, в общем такое дело. Пишу программу для моментального...

Ловля нажатия клавишь на клавиатуре
Привет. Вот процедура ловли клавишь на клавиатуре: procedure...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru