Вниз
Скачать: CL | DM;

Буфер обмена   Найти похожие ветки 

 
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.042 c
10-1123268291
Michael5
2005-08-05 22:58
2006.09.10
Как задать ширину столбца в Excel?


2-1156247678
deplhi
2006-08-22 15:54
2006.09.10
Расположение в памяти структур


15-1155525280
atruhin
2006-08-14 07:14
2006.09.10
Литература о тестировании ПО


15-1156072441
BOA_KAA
2006-08-20 15:14
2006.09.10
Интересный конкурс


1-1153968571
-=Germe$=-
2006-07-27 06:49
2006.09.10
Перерисовка контрола




   Наверх