Aktuelles Rechteck bestimmen ...
-
Bei vielen Fenstern von Steuerelementen kann man per vertikaler Laufleiste den Anzeigebereich scrollen. Wie berechnet man zB bei einer ComboBox, die Position des angezeigten Bereichs relativ zum Anfang ( zur Position des ersten Eintrags ). Also den Offset des angezeigten, aktuellen Bereichs.
-
Machst du das in WPF?
Wofür brauchst du die Information?Edit:
Der System.Windows.Controls.ScrollViewer hat das Property ContentVerticalOffset und ContentHorizontalOffset, welche glaube ich genau deine Wünsche abdecken würden.Grüsse
Chiller
-
Ich arbeite mit Windows.Forms, nicht mit WPF, und möchte in einer ComboBox ToolTips einbauen, für den Fall dass Einträge länger sind als die DropDown-Breite. Da habe ich allerdings die Möglichkeit, mit DropDownWidth die Breite des Dropdown Feldes auf die Länge des längsten Eintrags zu setzen. Wenn ich allerdings wüsste, wie gross der Offset des ausgewählten Bereichs ( aktuelles Rechteck )ist, könnte ich auf den Eintrag unter dem Cursor schliessen, und dann mein selbst programmiertes ToolTip-Fenster zu Anzeige bringen.
-
Bei der Klasse System.Windows.Forms.Control gibt es die Methoden: PointToScreen und PointToClient, die aber wohl nur bei Steuerelementen funktionieren. Das DropDown Feld einer ComboBox ist wohl kein Steuerelement ...
-
In Forms gibt es soweit ich weis, kein Property.
Wenn du aber rausfinden kannst, wie breit der Control ist, kannst du diesen Wert mit der Textlänge vergleichen. Falls die Textlänge länger ist als der Control breit, dann musst du den ToolTi einblenden. Sonnst nicht.Um herauszufinden, wie lang dein Text ist (in Pixel), kann ich dir diese Lösung empfehlen.
Wenn du mehrere Einträge hast, musst du natürlich alle austesten.
Grüsse
Chiller