![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Привет всем! Вот я пишу:
Код:
Private
procedure wmpaste(var Msg:TWMPaste); Message wm_paste;
...
procedure Tform1.WmPaste(var Msg:TWMPaste);
begin
if Msg.Msg=Wm_Paste then
showmessage('Вставка!!!');
end;Помогите мне пожалуйста разобраться и поподробнее. Буду очень преочень благодарен всем кто поможет мнне!!! |
|
#2
|
|||
|
|||
|
Событие 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
|
||||
|
||||
|
Цитата:
Есть еще вариант, отловить сообщение wm_paste - просто заменив обработчик событий (и для этого не придётся создавать новый класс, обработчик можно заменить и у стандартного компонента), как это сделать - писал вот тут(смотри мой пост №8): http://www.delphisources.ru/forum/showthread.php?t=7093 |