2009-04-21 8 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

ツールチップには魔法はありません。薄いボーダー、タイトル、黄色がかった背景、常にトップスタイルのウィンドウです。

<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> 

をそして今、あなたはボーナスとしてあなたにも挿入することができ、移動、サイズ変更、ショーをして、あなたは、「ツールチップ」非表示にするには、Windowsのすべてのメソッドとプロパティを使用することができます。

あなたは簡単にWPFのものを複製することができますツールチップ(画像、ボタン、ハイパーリンク、あなたのロゴ)へのより高度なコンテキストを提供したり、よりインテリジェントに見えるようにします。

+0

あなたは正しいです。私は自分の人生をもっと難しくしています。ユーザーはあなたのソリューションです。ありがとう –

+0

黄色でないかもしれないか、またはビスタのような丸いコーナーがあるかもしれないことを除いて。 – Anders

+0

Anders、ツールチップはあなた自身が適用できるスタイルを備えた通常の日常的なウィンドウで、色はレジストリに保存されますSetWindowRgn関数を使用すると、角を丸くするのが簡単です。 – Nir

関連する問題