Форум: "Основная";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
ВнизБуфер обмена Найти похожие ветки
← →
Calibr © (2006-07-26 21:54) [0]Как определить что пользователь вставляет информацию из буфера обмена! Не важно куда он вставляет главное отловить это событие и перекрыть своим событием?
← →
PSPF2003 © (2006-07-26 22:02) [1]Хук
← →
SergProger © (2006-07-27 03:29) [2]Посмотри, если в буфере находится то же самое, что и вставляется, тогда отмени процедуру.
← →
Handle (2006-07-27 04:18) [3]
private
FNextClipboardViewer: HWND;
procedure WMChangeCBChain(var Msg : TWMChangeCBChain); message WM_CHANGECBCHAIN;
procedure WMDrawClipboard(var Msg : TWMDrawClipboard); message WM_DRAWCLIPBOARD;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMChangeCBChain(var Msg : TWMChangeCBChain);
begin
inherited;
Msg.Result := 0;
if Msg.Remove = FNextClipboardViewer then
FNextClipboardViewer := Msg.Next
else
SendMessage(FNextClipboardViewer, WM_CHANGECBCHAIN, Msg.Remove, Msg.Next);
end;
procedure TForm1.WMDrawClipboard(var Msg : TWMDrawClipboard);
begin
inherited;
try
ShowMessage("Буфер изменился");
finally
SendMessage(FNextClipboardViewer, WM_DRAWCLIPBOARD, 0, 0);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FNextClipboardViewer := SetClipboardViewer(Handle);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if FNextClipboardViewer <> 0 then
begin
ChangeClipboardChain(Handle, FNextClipboardViewer);
FNextClipboardViewer := 0;
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c