Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DBGrid & Scrollbar (https://www.delphipraxis.net/168826-dbgrid-scrollbar.html)

t0mmy 13. Jun 2012 09:45

Datenbank: MSSQL • Version: 2008 • Zugriff über: ADO

DBGrid & Scrollbar
 
Hallo also ich hab da ein problem mit den Standard-DB-Grids von Delphi

und zwar werden die Scrollbars ab und wenn ich mehrer Datensätze auslese ausgeblendet und ich hab keine vertikale Scrollbar mehr.
Gibt es da eine möglichkeit diese im Objektinspektor fix einzustellen?

Bummi 13. Jun 2012 10:49

AW: DBGrid & Scrollbar
 
ich kenne den Wunsch umgekehrt .... in eine eigene Komponente packen mit Properties für (nicht)sichtbar Vert/Horz

oder wie unten schnell mal hinfaken

Delphi-Quellcode:
type
  TDBGrid=Class(DBgrids.TDBGrid)

  private
    procedure WMNCCalcSize(var Msg: TMessage); message WM_NCCALCSIZE;
  End;
  TForm5 = class(TForm)
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
  private
    { Private-Deklarationen }

  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}
procedure TDBGrid.WMNCCalcSize(var Msg: TMessage);
var
  Style: Integer;
  Scrollstyles :Integer;
begin
  Scrollstyles := 0;
  //if FHideScrollbarVert then
  Scrollstyles:=Scrollstyles or  WS_VSCROLL;
  //if FHideScrollbarHorz then
  Scrollstyles:=Scrollstyles or  WS_HSCROLL;

  Style := GetWindowLong(Handle, GWL_STYLE);
  if (Style and Scrollstyles) <> 0 then
    //SetWindowLong(Handle, GWL_STYLE, Style and not Scrollstyles); // nie
    SetWindowLong(Handle, GWL_STYLE, Style or Scrollstyles);        // immer
  inherited;
end;

DeddyH 13. Jun 2012 10:53

AW: DBGrid & Scrollbar
 
Das kann man "etwas" kürzen:
Delphi-Quellcode:
procedure TDBGrid.WMNCCalcSize(var Msg: TMessage);
const
  BOTHSCROLLSTYLES = WS_VSCROLL or WS_HSCROLL;
begin
  //SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not BOTHSCROLLSTYLES); // nie
  SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) or BOTHSCROLLSTYLES); // immer
  inherited;
end;


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