2009-04-21 23 views
1

Ich habe .NET WPF-Anwendung und eine der Anforderungen ist, dass Benutzer Text außerhalb meiner Anwendung auswählen und kopieren können. Meine Anwendung muss auf das Ereignis Zwischenablage reagieren. Schlagen Sie das Wort aus dem Wörterbuch nach und wählen Sie neben dem ausgewählten Text die QuickInfo mit der Übersetzung des Wortes aus.Tooltip außerhalb des aktuellen Fensters anzeigen

Wie ich verstehe, muss dies durch Aufrufe von Windows API erreicht werden.

Ich habe Beispielcode gefunden, der diese Aufgabe erfüllt.

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

Eine meiner ersten Ideen, war dieses Beispiel in die Bibliothek zu konvertieren, die ich von .NET-Anwendung aufrufen können (im Grunde würde meine Bibliothek 2 Methoden enthalten: Ein- und Ausblenden Tooltip). Leider ist mein VC++ Wissen so gut wie nichts.

Gibt es eine andere Möglichkeit, dieses Problem zu lösen?

Vielen Dank.

Antwort

2

Es gibt nichts Magisches an Tooltips - es sind nur Fenster mit einer dünnen Umrandung, ohne Titel, gelblichem Hintergrund und immer im Top-Stil.

Sie können ganz einfach die in WPF duplizieren:

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

Und jetzt können Sie alle Fenster Methoden und Eigenschaften verwenden verschieben, vergrößern, verkleinern, Show und verstecken Sie Ihre „Tooltip“, als Bonus können Sie auch einfügen erweiterte Kontext in den Tooltip (Bilder, Schaltflächen, Hyperlinks, Ihr Logo) oder machen es interessanter.

+0

Sie haben Recht. Ich mache mein Leben härter. Will Benutzer Ihre Lösung. Danke –

+0

mit der Ausnahme, dass sie nicht gelb sein dürfen, oder runde Ecken wie auf Vista haben könnte. – Anders

+0

Anders, Der Tooltip ist ein normales Alltagsfenster mit einigen Stilen, die Sie selbst anwenden können, die Farbe wird in der Registrierung gespeichert (ich habe vergessen wo) Mit der Funktion SetWindowRgn ist es einfach, abgerundete Ecken zu erhalten. – Nir

Verwandte Themen