一个小问题,关于拖放:如何没有选中某文本(比如只选中标题),将文本拖到别的应用程序中? 例如,有一棵树,点击树节点后,某文本框有内容,如何拖动该树节点到某应用程序(例如,word,notepad等)时候,文本自动就过去了。当然,如果选中文本,复制,粘贴,也可以实现,不过不如拖放那么方便。哪位大侠能指点一下,感谢~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要写个IDropSource类来实现OLE接口,确实需要点时间 参考http://community.csdn.net/Expert/topic/5383/5383877.xml?temp=.9527246 以下演示, “拖”往记事本测试成功。Word不成功。var H : HWND; S : string = 'abcdefghijklmn';//用这个字串代替你说的Text试验procedure TForm1.Timer1Timer(Sender: TObject);begin H := WindowFromPoint(Mouse.CursorPos); if H <> 0 then if (GetKeyState(VK_LButton) and $8000) <> $8000 then //如果松开左键 begin //这里WM_SetText发送的是S, 换成节点指向的Text应该也简单 //并且这里应该判断鼠标指向的控件的类型, 这个你自己研究吧 SendMessage(H, WM_SetText, 0, integer(PChar(S))); Timer1.Enabled := False; end;end;procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin //如果在TreeView上按下左键并拖动 if Button = mbLeft then Timer1.Enabled := True;end;procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin Timer1.Enabled := False;end;procedure TForm1.FormCreate(Sender: TObject);begin Timer1.Interval := 100; Timer1.Enabled := False;end; 请问如何实现treeview的treenode 里具有combobox 下拉选择功能? ISAPI WEB数据库的查询问题!!! 关于存储过程的问题 怎么画一个椭圆呀 用Delphi8.Net开发ASP.net程序,连接access数据库不成功 关于网卡MAC号的几点疑问?请大家来发表观点 新手提问:有关最小化的问题 一个关于overload和override的语法问题 如何屏蔽WM_NCLBUTTONDBLCLK消息(50分) 怎样把dbimage的图象复制到剪切板中? (急)Tidhttp下载回来的繁体网页,显示为乱码,请问如何解码??? 达人帮帮忙,看看这个怎么做!多谢了!
http://community.csdn.net/Expert/topic/5383/5383877.xml?temp=.9527246
H : HWND;
S : string = 'abcdefghijklmn';//用这个字串代替你说的Text试验procedure TForm1.Timer1Timer(Sender: TObject);
begin
H := WindowFromPoint(Mouse.CursorPos);
if H <> 0 then
if (GetKeyState(VK_LButton) and $8000) <> $8000 then
//如果松开左键
begin
//这里WM_SetText发送的是S, 换成节点指向的Text应该也简单
//并且这里应该判断鼠标指向的控件的类型, 这个你自己研究吧
SendMessage(H, WM_SetText, 0, integer(PChar(S)));
Timer1.Enabled := False;
end;
end;procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//如果在TreeView上按下左键并拖动
if Button = mbLeft then Timer1.Enabled := True;
end;procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Timer1.Enabled := False;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 100;
Timer1.Enabled := False;
end;