Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#17

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 16:19
Hmm... Das verstehe ich jetzt nicht.
Deine Frage bezog sich doch darauf, ob eine Scrollbar eines TMemo's aktiv ist, oder nicht (sichtbar ist sie ja leider permanent)!?
Und das kann man doch sehr gut mit ScrollBarInfo.rgstate[0] überprüfen?
Das funktioniert bei mir (Delphi XE, XP) ganz hervorragend:
Delphi-Quellcode:
function ScrollBarEnabled(Wnd: HWnd; Vert: Boolean): Boolean;
var
  ScrollBarInfo: TScrollBarInfo;
  IdObject: Integer;
begin
  ScrollBarInfo.cbSize:=Sizeof(TScrollBarInfo);
  if Vert
    then IdObject:=OBJID_VSCROLL
    else IdObject:=OBJID_HSCROLL;
  Result:=GetScrollBarInfo(Wnd,IdObject,ScrollBarInfo) and
          (ScrollBarInfo.rgstate[0] and STATE_SYSTEM_UNAVAILABLE=0);
end;
Hmm...
Ich kann unter Eigenschaften die Scrollbar welche sichtbar sein soll auswählen.
Bsp. ssVertikal

Alle anderen sind dann im Designer auch nicht sichtbar das ist Fakt.
Aber!
Trotzdem bekomme ich bei der Abfrage siehe erster Beitrag bei State immer einen Positiven wert zurückgeliefert
deshalb wird meine Virtuelle ScrollBar bei ssHorizontal trotzdem gezeichnet.

Habe neue Version unter Projekte hochgeladen.
Bilder werden jetzt gerendert.

gruss
  Mit Zitat antworten Zitat