Показать сообщение отдельно

  #4  
Старый 05.05.2009, 21:40
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


По умолчанию

2 Zitt попробуй переопределить методы этого компонента с созданием нового но с обработкой onpaint где будет показываться скролбар.
Код:
type
  TScrollBarDBGrid = class(TDBGrid)
  protected
    procedure Paint; override;
end;

procedure register;

implementation

procedure register;
begin
  RegisterComponents('Samples', [TScrollBarDBGrid]);
end;

procedure TScrollBarDBGrid.Paint;
begin
  SetScrollRange(Handle, SB_VERT, 0, 100, false);
  SetScrollRange(Handle, SB_HORZ 0, 100, false);
или 
 ShowScrollBar(Handle, SB_HORZ, true);
 ShowScrollBar(Handle, SB_VERT, true);
  inherited;
end;

как вариант попробуй код, но не уверен что будет пахать
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
  private
    FDBGridWndProc: TWndMethod;
    procedure DBGridWndProc(var Msg: TMessage);

    { Private declarations }
  public
   FShowHoriz: Boolean;
   FShowVert: Boolean;

    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Tform1.DBGridWndProc(var Msg: TMessage);
begin
 ShowScrollBar(DBGrid1.Handle, SB_HORZ, FShowHoriz);
 ShowScrollBar(DBGrid1.Handle, SB_VERT, FShowVert);
 FDBGridWndProc(Msg);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 FShowHoriz:=True;
 FShowVert:=True;
 FDBGridWndProc:=DBGrid1.WindowProc;
 DBGrid1.WindowProc:=FDBGridWndProc;
end;

end.
протестить не могу т.к. под рукой нет никакой БД
 
Ответить с цитированием