![]() |
Vertikalen Scrollbar in einem Listview verstecken?
Hallo,
gibt es eine Möglichkeit den vertikalen Scrollbalken in eime ListView zu verstecken? Diese Möglichkeit funktioniert bei mir nicht:
Delphi-Quellcode:
Vielen Dank schonmal
SetWindowLong(ListView1.Handle, GWL_STYLE, GetWindowLong(ListView1.Handle, GWL_STYLE) and not WS_VSCROLL);
MfG Hitzi |
Re: Vertikalen Scrollbar in einem Listview verstecken?
Hallo Hitzi,
versuche es mal mit ![]() |
Re: Vertikalen Scrollbar in einem Listview verstecken?
Danke für deine Antwort, nur leider funktioniert dieser Lösungsansatz in meinen Programm nicht.
Ich habe das Listview in einem Frame. Damit ich an das OnCreate Ereignis dieses Frames komme nutze ich folgen Code:
Delphi-Quellcode:
Wenn ich nun den von dir angesprochenen Code verwende und das Programm starte, dann wird das Programmfenster aufgebaut, aber das Listview wird nicht angezeigt. Die CPU Auslastung geht auf 100% hoch. Nach etwa 1-2 Minuten beruhigt sich das Ganze, aber das Listview macht sehr seltsame Effekte - z.B. nach dem Verschieben des Programmfensters wird das Listview nicht richtig refreshed und fängt lustig an rumzuwackeln. :stupid:
constructor Tframe_SQL.Create(AOwner : TComponent);
begin inherited Create(AOwner); SQLDB := TSQLDB.Create; FShowHoriz := True; // show the horiz scrollbar FShowVert := False; // hide vert scrollbar //FListViewWndProc := lv_Ergebnis.WindowProc; // save old window proc //lv_Ergebnis.WindowProc := ListViewWndProc; // subclass end; destructor Tframe_SQL.Destroy(); begin //lv_Ergebnis.WindowProc := FListViewWndProc; // restore window proc //FListViewWndProc := nil; FreeAndNil(SQLDB); inherited Destroy; end; Gibt'S noch andere Lösungsvorschläge? MfG Hitzi |
Re: Vertikalen Scrollbar in einem Listview verstecken?
Problem gelöst.
Die Ursache meiner oben angesprochenen Probleme, war die ineffiziente ListViewWndProc. Dank des Kommentares von Lars Kruger zu diesem Tipp auf SwissDelphiCenter, habe ich die ListViewWndProc wie folgt abgeändert:
Delphi-Quellcode:
Nun funktioniert es :-D
if (Msg.Msg = WM_WINDOWPOSCHANGING) then
ShowScrollBar(lv_Ergebnis.Handle, SB_VERT, False); // hide horiz scrollbar FListViewWndProc(Msg); // process message Nochmal vielen Dank an App. MfG Hitzi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz