Laden...

Ist der Scrollbar vom TreeView sichtbar?

Erstellt von ThomasGawehns vor 16 Jahren Letzter Beitrag vor 16 Jahren 3.823 Views
T
ThomasGawehns Themenstarter:in
18 Beiträge seit 2007
vor 16 Jahren
Ist der Scrollbar vom TreeView sichtbar?

Beschreibung:

Ich möchte feststellen, ob die Scrollbars im TreeView sichtbar sind oder nicht. Leider konnte ich nichts eingebautes hierzu finden und bin deswegen auf GetWindowLong zurückgefallen. Gibt es wirklich nichts einfacheres?

Das klappt wirklich, das hat sich seit Windows 3.x nicht geändert 😁


        const int GWL_STYLE = -16;
        const int WS_HSCROLL = 0x100000;
        const int WS_VSCROLL = 0x200000;
        [DllImport("user32.dll", SetLastError = true)]
        static extern int GetWindowLong(IntPtr hWnd, int nIndex);

        private bool isHorizontalScrollbarVisible(Control c)
        {
            int style = GetWindowLong(c.Handle, GWL_STYLE);
            return (style & WS_HSCROLL) != 0;
        }
        private bool isVerticalScrollbarVisible(Control c)
        {
            int style = GetWindowLong(c.Handle, GWL_STYLE);
            return (style & WS_VSCROLL) != 0;
        }


Schlagwörter: Scrollbar, TreeView

Hi ha ho, jetzt simmer widder froh 🙂

L
333 Beiträge seit 2007
vor 16 Jahren

Ob das hier das richtige Forum dafür ist? Ich bin kein Moderator...

Hast du mal versucht, die Methoden zu verwenden, mit denen man rausfinden kann, welches das erste angezeigte (sichtbare) Element ist, oder wie hoch ein Element ist? Ich hab jetzt zwar auf Anhieb keinen konkreten Code anzubieten, aber in die Richtung würde ich mal suchen. Vielleicht ergibt sich auch ein Unterschied in der ClientSize-Eigenschaft mit und ohne Scrollbar.

PS: Die Schlagwörter kannst du dir sparen, die kommen beide bereits im Text vor (und wären somit bestenfalls Stichwörter 😉).

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo LonelyPixel,

Ob das hier das richtige Forum dafür ist? Ich bin kein Moderator...

für die Frage natürlich eigentlich nicht (deshalb sollte die, wenn dann nur sehr knapp besprochen werden), aber für die Lösung, die er gepostet hat, natürlich schon.

herbivore