Вниз
Скачать: 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.039 c
2-1155856952
SerJaNT
2006-08-18 03:22
2006.09.10
Handle активного окна


2-1156253429
AlexanderMS
2006-08-22 17:30
2006.09.10
Зачем нужен const?


3-1151724487
Maggot
2006-07-01 07:28
2006.09.10
Счет количества клиентов определенного возраста


3-1151305951
MsGuns
2006-06-26 11:12
2006.09.10
Определить список серверов


2-1155727100
Хочу знать
2006-08-16 15:18
2006.09.10
and, or




   Наверх