Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Vertikalen Scrollbar in einem Listview verstecken? (https://www.delphipraxis.net/14019-vertikalen-scrollbar-einem-listview-verstecken.html)

hitzi 31. Dez 2003 08:20


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:
SetWindowLong(ListView1.Handle, GWL_STYLE, GetWindowLong(ListView1.Handle, GWL_STYLE) and not WS_VSCROLL);
Vielen Dank schonmal

MfG Hitzi

APP 1. Jan 2004 18:40

Re: Vertikalen Scrollbar in einem Listview verstecken?
 
Hallo Hitzi,
versuche es mal mit ...die horizontale/vertikale Scrollbar einer TListview verstecken? von den Schweizern, das funktioniert bestimmt.

hitzi 5. Jan 2004 12:10

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:
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;
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:

Gibt'S noch andere Lösungsvorschläge?

MfG Hitzi

hitzi 5. Jan 2004 12:18

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:
if (Msg.Msg = WM_WINDOWPOSCHANGING) then
    ShowScrollBar(lv_Ergebnis.Handle, SB_VERT, False); // hide horiz scrollbar
  FListViewWndProc(Msg); // process message
Nun funktioniert es :-D

Nochmal vielen Dank an App.


MfG Hitzi


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 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