还是有关如何实现URL的拖放,并把网页地址存入TMEMO中 (200分)

  • 主题发起人 主题发起人 王峥
  • 开始时间 开始时间

王峥

Unregistered / Unconfirmed
GUEST, unregistred user!
我一直关注此问题,解决方案有二
1.用控件TDRAGDROP
但因无源码,只知其然而不知所以然
2.自编代码
我看了几个,但真正通过编译并正确运行的还没有

现请哪位真知做准确详尽之描述,这是个热门问题

谢谢
 
怎么加分
 
什么URL的拖放?

倒是可以对任意的输入焦点如Edit,将其中的内容取出,
用GetFocus

//定义一个全局热键。 (Win + A)
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Handle, 1001, MOD_WIN, 65);
end;

//定义:procedure WMHotKey(var Msg: TMessage); message WM_HOTKEY;
procedure TForm1.WMHotKey(var Msg: TMessage);
var
CurThreadID, AttThreadID: THandle;
begin
if Msg.WParam = 1001 then //如果是收到自定义的消息。则将当前正在输入焦点的内容copy, 然后paste 到memo中
begin
CurThreadID := GetCurrentThreadID;
AttThreadID := GetWindowThreadProcessId(GetForegroundWindow, nil);
AttachThreadInput(CurThreadID, AttThreadID, True);
SendMessage(GetFocus, WM_COPY, 0, 0);
SendMessage(Memo1.Handle, WM_PASTE, 0, 0);
AttachThreadInput(CurThreadID, AttThreadID, False);
end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Handle, 1001);
end;
 
忘了说怎么用,就是运行程序然后找一个可以input的,然后按Win + a,试试是不是将当前的
内容copy to 程序中的memo
 
本论坛有完整的解决方案,包括源码
我已经用在我的程序中了
用“拖放”查一下,实在找不到再找我
 
接受答案了.
 

Similar threads

D
回复
0
查看
869
DelphiTeacher的专栏
D
D
回复
0
查看
928
DelphiTeacher的专栏
D
D
回复
0
查看
943
DelphiTeacher的专栏
D
D
回复
0
查看
776
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部