Вниз
Скачать: 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.027 c
15-1155627978
umbra
2006-08-15 11:46
2006.09.10
вопрос про статическую библиотеку и С


3-1151943933
SergP
2006-07-03 20:25
2006.09.10
Oracle --> dbf. Как сделать попроще?


2-1155811830
alexandrine
2006-08-17 14:50
2006.09.10
фильтр


2-1155992408
DillerXX
2006-08-19 17:00
2006.09.10
Можно ли в TStatusPanel сделать Progress Bar...


2-1155977548
911911
2006-08-19 12:52
2006.09.10
Прорисовка




   Наверх