![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перехватить вставку из буфера в комбобокс?
cyber-pilot © (2010-11-01 18:09:00)Пробовал вот так:
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
public
end;
TExtEdit = class(TEdit)
private
procedure WMPaste(var Message: TMessage); message WM_PASTE;
end;
TExtComboBox = class(TComboBox)
private
procedure WMPaste(var Message: TMessage); message WM_PASTE;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
vEdit: TExtEdit;
vcbxReplace: TExtComboBox;
begin
vEdit := TExtEdit.Create(Self);
vEdit.Parent := Self;
vEdit.Left := 10;
vEdit.Top := 10;
vEdit.Width := 200;
vEdit.Height := 20;
vcbxReplace := TExtComboBox.Create(Self);
vcbxReplace.Parent := Self;
vcbxReplace.Left := 10;
vcbxReplace.Top := 50;
vcbxReplace.Width := 200;
vcbxReplace.Height := 20;
end;
{ TExtComboBox }
procedure TExtComboBox.WMPaste(var Message: TMessage);
begin
ShowMessage('Вставка из буфера в комбобокс перехвачена!');
end;
{ TExtEdit }
procedure TExtEdit.WMPaste(var Message: TMessage);
begin
ShowMessage('Вставка из буфера в едит перехвачена!');
end;
end.
Для TExtEdit - работает, для TExtComboBox - нет. Может быть есть другой способ. Был бы рад помощи.
clickmaker (2010-11-01 18:21:00) [1]ComboBox - он на то и комбо, что из двух контролов - Edit и ListBox
нужно получить хэндл его эдита и у него ловить (cb.Perform(CB_GETCOMBOBOXINFO))