Clipboard
2 отговора
8 прегледа
Clipboard
Kak da syzdam event ONClipboardCopy w Delphi.
Zaedno s towa kogato se kopira nesto w Clipboard-a (ot proizwolno prilogenie) moeto prilogenie da e actiwno.
Naprimer rechnicite wyrshat systoto nesto. Kogato kopirash text i dumata koqto si kopiral q ima te se Maximizirat.
Blagodarq vi predwaritelno.
Clipboard
Например така:
unit ClipBoard;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TMainForm = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
FClipboardOwner: HWnd;
procedure WMChangeCBChain(var Msg: TWMChangeCBChain); message WM_CHANGECBCHAIN;
procedure WMDrawClipboard(var Msg: TWMDrawClipboard); message WM_DRAWCLIPBOARD;
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.DFM}
procedure TMainForm.WMChangeCBChain(var Msg: TWMChangeCBChain);
begin
if Msg.Remove = FClipboardOwner then FClipboardOwner := Msg.Next
else SendMessage(FClipboardOwner, WM_CHANGECBCHAIN, Msg.Remove, Msg.Next);
Msg.Result := 0;
end;
procedure TMainForm.WMDrawClipboard(var Msg: TWMDrawClipboard);
begin
// ...
// ...
// ...
SendMessage(FClipboardOwner, WM_DRAWCLIPBOARD, 0, 0);
Msg.Result := 0;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
FClipboardOwner := SetClipboardViewer(Handle);
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
ChangeClipboardChain(Handle, FClipboardOwner);
end;
end.