AW: Prüfen ob Scrollbar aktiviert
Zitat:
Das tue ich mir nicht an :) gruss |
AW: Prüfen ob Scrollbar aktiviert
Entschuldigung, wenn ich noch einmal nerve, aber mir hat die ganze Sache keine Ruhe gelassen und ich habe es noch einmal gestest:
Delphi-Quellcode:
Das funktioniert bei mir ohne Probleme mit einem TMemo.
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; function ScrollBarVisible(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_INVISIBLE=0); end; |
AW: Prüfen ob Scrollbar aktiviert
Zitat:
Habe das Projekt funktionstüchtig.. bis auf das hier genannte problem. Ich habe deine erste Version geprüft und die schlägt immer fehl (ScrollBarEnabled). Dann habe ich diese mit
Delphi-Quellcode:
ScrollBarInfo.rgstate[3] and STATE_SYSTEM_INVISIBLE=0
geprüft.. schlug auch fehl. Wenn du interesse an dem Projekt hast schikce ich dir gerne den Quelltext zu. Dann kannst du vor ort testen. Ist in D2009 geschrieben sollte also auch in XE ohne probleme laufen. EDIT: Du solltest aber das hier ScrollBarVisible..
Delphi-Quellcode:
ScrollBarInfo.rgstate[0] and STATE_SYSTEM_INVISIBLE=0
den Index 0 mit 3 ersetzen Oder? gruss |
AW: Prüfen ob Scrollbar aktiviert
Kannst Du mir gern zuschicken! Die Email-Adresse bekommst Du aus meiner VCard.
Index 0 betrifft die komplette Scrollbar, Index 3 nur den verschiebbaren Teil. Siehe MSDN. In meinem Test prüfe ich zuerst auf Sichtbarkeit und erst danach auf Enabled:
Delphi-Quellcode:
if ScrollBarVisible(Memo1.Handle,false) then
begin if ScrollBarEnabled(Memo1.Handle,false) then Label1.Caption:='enabled' else Label1.Caption:='disabled'; end else Label1.Caption:='not visible'; |
AW: Prüfen ob Scrollbar aktiviert
Zitat:
EDIT: Nur nochmal zur Info wenn die Horizontale Bar ausgeschaltet ist darf die Maske nicht gezeichnet werden. Suche einfach im Quelltext nach dem im ersten Thread erstellen Code. gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz