
05.05.2009, 21:40
|
|
Познавший АНТИЧАТ
Регистрация: 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.
протестить не могу т.к. под рукой нет никакой БД
|
|
|