2009-04-21 62 views
1

我有.NET WPF应用程序,其中一个要求是用户可以选择并复制我的应用程序之外的文本。我的应用程序必须响应剪贴板事件。从字典中查找单词,并在选定的文本旁边显示单词翻译的工具提示。在当前窗口之外显示工具提示

据我所知,这必须使用调用Windows API来完成。

我找到了示例代码,完成了这个任务。

http://www.codeproject.com/KB/miscctrl/tooltipzen.aspx?fid=4069&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26

我的一个最初想法,就是这个例子转换成库,我可以从.NET应用程序调用(基本上是我的库将包含2种方法:显示和隐藏工具提示)。不幸的是,我的VC++知识几乎没有。

有没有其他方法可以解决这个问题?

非常感谢。

回答

2

对于工具提示没有什么神奇的 - 它们只是一个薄边框,没有标题,淡黄色背景并始终处于顶级风格的窗口。

您可以轻松地复制那些在WPF:

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     ResizeMode="NoResize" 
     SizeToContent="WidthAndHeight" 
     Background="Yellow" 
     WindowStyle="None" 
     Topmost="True"> 
    <Border BorderBrush="Black" BorderThickness="1"> 
     <TextBlock Text="Tooltip text"/> 
    </Border> 
</Window> 

现在你可以使用所有的窗口的方法和属性移动,缩放,显示和隐藏你的“工具提示”,作为奖励,你还可以插入更高级的上下文进入工具提示(图像,按钮,超链接,您的标志)或使其看起来更有趣。

+0

你说得对。我让我的生活更加艰难。将用户您的解决方案。谢谢你 – 2009-04-21 14:40:07