Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.07.2010, 16:26
Romanych007 Romanych007 вне форума
Прохожий
 
Регистрация: 10.07.2010
Сообщения: 1
Репутация: 10
По умолчанию Как отловить событие wm_paste?

Привет всем! Вот я пишу:
Код:
 
Private
procedure wmpaste(var Msg:TWMPaste); Message wm_paste;
...
procedure Tform1.WmPaste(var Msg:TWMPaste);
begin
  if Msg.Msg=Wm_Paste then
  showmessage('Вставка!!!');
end;
Сообщение wm_paste почему-то не отлавливается?
Помогите мне пожалуйста разобраться и поподробнее. Буду очень преочень благодарен всем кто поможет мнне!!!
Ответить с цитированием
  #2  
Старый 11.07.2010, 10:53
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Событие wm_paste должно вызываться при вставке "чего-то" (например, текст), "куда-то" (например, в наследник от TCustomEdit).
Примерно так :
Код:
Type
  TMyEdit = class(TCustomEdit)
  private
    procedure WMPaste(var Message: TWMPaste);   message WM_PASTE;
  published
    property Anchors;
    ...
    property OnStartDrag;
  end;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
  public
    MyEdit : TMyEdit;
  end;

var
  Form1: TForm1;
implementation
...

procedure TForm1.FormCreate(Sender: TObject);
begin
   MyEdit := TMyEdit.Create(Self);
   MyEdit.Parent:=Self;

   MyEdit.Top:=30;
   MyEdit.Left:=20;

end;

procedure TMyEdit.WMPaste(var Message: TWMPaste);
begin
  ShowMessage('TMyEdit: WMPaste');
  inherited;
end;

...
end.
Ответить с цитированием
  #3  
Старый 12.07.2010, 14:16
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
Сообщение

Цитата:
Сообщение от Romanych007
Сообщение почему-то не отлавливается?
Помогите мне пожалуйста разобраться и поподробнее. Буду очень преочень благодарен всем кто поможет мнне!!!

Есть еще вариант, отловить сообщение wm_paste - просто заменив обработчик событий (и для этого не придётся создавать новый класс, обработчик можно заменить и у стандартного компонента), как это сделать - писал вот тут(смотри мой пост №8):

http://www.delphisources.ru/forum/showthread.php?t=7093
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:23.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025