假设有一个悬浮窗口(包含一个编辑框)用来动态获取其他窗口选中的文字,每当在其他窗口(可能是浏览器,也可能是文本编辑器...)中选中了文字,当鼠标移到该悬浮窗口之上时该窗口的编辑框中即能显示此段选中文字。请问这个可能实现吗?(应该是可以的,我在其他软件中看到过类似的效果)。如何实现?
解决方案 »
- 最近做了一个小小的三层的小软件,请大家帮忙测试一下,找到一个问题给50分..
- 关于RAVE打印设置的问题
- 设置了一个Variant类型变量,输入内容时如何判断这个变量是字符(如:aaag)还是数字(如:123)
- 紧急呼救!关于报表打印,提供有价值线索者,另加50分,谢谢各位
- 一个有关TStringGrid或TDrawGrid的最常用的问题
- DateTimePicker中能否同时改变日期和时间
- 怎样使DBgrid中网格自动适应字段的内容,以最长的计算?
- delphi数据库系统代码中出错
- 如何只打印指定的那一条记录?
- 电子商务平台中与银行接口问题 ?
- 图片采集问题
- 请问怎么样在Delphi程序中实现自动创建、调用、断开Windows2000的VPN连接?
后半部分发送EM_GETSEL,取得选中的位置,接着对上面的文本截取.
begin
SendMessage(Handle, EM_GETSEL, Longint(@Result), 0);
end;function TCustomEdit.GetSelLength: Integer;
var
Selection: TSelection;
begin
SendMessage(Handle, EM_GETSEL, Longint(@Selection.StartPos), Longint(@Selection.EndPos));
Result := Selection.EndPos - Selection.StartPos;
end;function TCustomEdit.GetSelText: string;
var
P: PChar;
SelStart, Len: Integer;
begin
SelStart := GetSelStart;
Len := GetSelLength;
SetString(Result, PChar(nil), Len);
if Len <> 0 then
begin
P := StrAlloc(GetTextLen + 1);
try
GetTextBuf(P, StrBufSize(P));
Move(P[SelStart], Pointer(Result)^, Len);
finally
StrDispose(P);
end;
end;
end;