vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Tooltip OwnerDraw Location 
Autor: msSuper
Datum: 21.06.16 08:38

Hallo Leute,

in einer Anwendung nutze ich das ToolTip und zeige per OwnerDraw eine passende Grafik an.

Die Größe des ToolTip kann ich in der ToolTip.PopUp festlegen, das funktioniert auch optimal.

Wenn jedoch das feuernde (AssociatedControl) weit unten am Bildschirmrand sitzt, passt die Grafik nicht mehr komplett auf den Bildschirm.

Gibt es eine Möglichkeit die Position des ToolTip zu verändern? - Dazu habe ich leider nirgends was gefunden.
Sollte es nicht möglich sein, so muss ich wohl das ToolTip komplett durch eine Form ersetzen, die Nutzung des ToolTip fände ich jedoch für den Zweck deutlich besser.

Ich bin dankbar für jeden Hinweis!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tooltip OwnerDraw Location 
Autor: Manfred X
Datum: 22.06.16 06:46

Hallo!

Eventuell könntest Du einen "ToolTipText" zuweisen, der
in der Darstellung so groß wäre, wie das im "Draw"-Event
anzuzeigende "Image" und auf die Festlegung der Größe des
ToolTip-Fensters im "PopUp"-Event verzichten.
Das scheint zu funktionieren.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tooltip OwnerDraw Location 
Autor: msSuper
Datum: 22.06.16 07:35

Hallo Manfred,

ich hab das gerade mal getestet und in der Tat funktioniert es.

Das ist zwar ziemliches gebastet, da die Images verschiedene größen haben und es auch Fälle gibt, in denen der Standard ToolTipText und darunter dann das Image gezeichnet wird.

Ich lege nun den TooltipText mit zusätzlichen Textzeilen vbnewline + " " ( 2 Spaces) fest.

Im PopUp Event errechne ich die exakte Größe (Breite und Höhe) und gebe es dem ToolTip mit.

Im Owner Draw lösche ich dann die überflüssigen Zeilen (vbnewline + " " (2 Spaces))
Und schreibe den Text und Zeichne dann das Image.

Vielen Dank. immer noch besser als ToolTip komplett neu zu erfinden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tooltip OwnerDraw Location 
Autor: Manfred X
Datum: 22.06.16 08:27

Zu beachten ist aber, daß der Font des Tooltips in den
Windows-Systemeinstellungen festgelegt werden kann und deshalb
bei der Größenberechnung vermutlich einbezogen werden sollte.
(SystemParametersInfo, NonClientMetricsStructure, lfStatusFont)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tooltip OwnerDraw Location 
Autor: msSuper
Datum: 22.06.16 09:30

...einfach das e.Font Objekt aus dem Event tooltip.draw benutzen

Thanx a lot
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tooltip OwnerDraw Location 
Autor: Manfred X
Datum: 22.06.16 09:55

Ja.
Allerdings wird das "Draw"-Event erst nach dem "Popup"-Event ausgelöst.
Du hattest mitgeteilt, daß Du die Größe des Tooltip-Window im "PopUp"-Event
errechnest. Es ist in dem Fall erforderlich, die als Parameter übergebene
Font-Referenz beim ersten "Draw"-Ereignis zu speichern.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel