Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 11:34
Wie kann ich beim Memo gegenprüfen ob eine Scrollbar aktiviert wurde?
Grundsätzlich verfügt ein memo ja über beide Scrollbars Horiz/Vert

Ich prüfe nun mit meinem Code ob diese zur verfügung stehen.
Das problem ist nur Sie werden auch erkannt wenn sie nicht unter Eigenschaften aktiviert wurden (Sichtbar sind).

Wie kann ich also gegenprüfen ob sie aktiviert wurden unabhängig vom Eigenschaftsdialog.

Zur besseren Verständigung hier noch was Code!

Delphi-Quellcode:
function THookedScrollbar.StoreVertical(WinHandle: HWND): Boolean;
var
  State: Boolean;

begin

  Result := False;

  VScrInfo.cbSize := SizeOf(VScrInfo);
  VScrInfo.fMask := SIF_ALL;

  // ScrollBar vorhanden?
  State := GetScrollInfo(WinHandle, Windows.SB_VERT, VScrInfo);
  
  // keine ScrollBar vorhanden
  if not State then
    exit;

  // Lese aktuelle Bar Parameter
  VScrBar.cbSize := Sizeof(VScrBar);
  GetScrollBarInfo(WinHandle, integer(OBJID_VSCROLL), VScrBar);

  // kopiere den aktuellen Rect zur späteren bearbeitung
  CopyRect(VertRect, VScrBar.rcScrollBar);
  Result := True;
end;

State liefert immer True zurück egal ob unter Eigenschaften die Bars eingeschaltet wurden oder nicht!

gruss

Geändert von EWeiss (30. Jun 2011 um 19:25 Uhr)
  Mit Zitat antworten Zitat