Autor Beitrag
relapse
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50



BeitragVerfasst: Mo 08.08.11 14:36 
Hallo!

Ich versuche ToolTipText für ein spezielles Wort in einer RichTextBox vernünftig zu platzieren (z.B. xPos+=10; yPos -=10;). Das Problem ist, dass wenn entweder die Höhe (falls ToolTipText mehrzeilig ist) oder die Breite (einzeilig) des ToolTipText die jeweilige Größe von der RichTextBox überschreitet, wird der ToolTipText verkehrt positioniert. Also brauche ich seine Größe noch bevor er überhaupt angezeigt wird. Zu diesem Zeitpunkt steht mir der anzuzeigende Text bereits zur Verfügung.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4807
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 08.08.11 15:03 
Hallo relapse,

dafür gibt es die beiden Methoden Graphics.MeasureString bzw. TextRenderer.MeasureText (es gibt kleine Unterschiede in der Berechnung, da entweder GDI bzw. GDIplus verwendet wird).
Und für beide benötigst du dann auch noch den Zeichensatz (Font), anhand dessen dann die Größe überhaupt erst ermittelt werden kann.
relapse Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50



BeitragVerfasst: Mo 08.08.11 15:49 
Danke! Jetzt kann ich aber nicht rausfinden, wie man den Zeichensatz vom ToolTip ermittelt :[
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4807
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 08.08.11 17:08 
Hallo,

du könntest SystemFonts.MenuFont dafür benutzen (dieses ist zwar nicht direkt der ToolTip-Font, aber standardmäßig hat es denselben Wert wie der ToolTip - leider gibt es wohl keine direkte Funktion, um von .NET bzw. der WinAPI aus den ToolTip-Font auszulesen).
relapse Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50



BeitragVerfasst: Mo 08.08.11 18:34 
Danke!!!