Faire disparaitre le scrollbar de plusieurs dbgrid
Bonjour,
J'ai récupéré sur le net récemment ce code qui permet de faire disparaitre les scrollbars d'un dbgrid (verticale et horizontal).
Mon besoin étant de faire disparaitre juste l'horizontale.
J'utilise donc ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
private
{ Private declarations }
...
FDBGridWndProc: TWndMethod;
procedure DBGridWndProc(var Msg: TMessage);
...
implementation
Uses
....;
{$R *.dfm}
...
procedure TFormPrincipal.DBGridWndProc(var Msg: TMessage);
begin
ShowScrollBar(DBGridCategorie.handle, SB_HORZ, False);
ShowScrollBar(DBGridCategorie.Handle, SB_VERT, True);
FDBGridWndProc(Msg);
end;
...
procedure TFormPrincipal.FormCreate(Sender: TObject);
Begin
....
{CACHE LES SCROLLBARS DU DBGRIDCategorie}
FDBGridWndProc := DBGridCategorie.WindowProc;
DBGridCategorie.WindowProc := DBGridWndProc;
... |
Cela fonctionne parfaitement.
Mais j'ai besoin de faire la même chose sur un autre dbgrid placé également sur cette form.
J'ai tenté de doubler les procedures sans succès et avec plantage. donc j'ai essayé cela ci-dessous, mais je ne c'est pas quoi mettre à un moment.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
private
{ Private declarations }
...
FDBGridWndProc: TWndMethod;
procedure DBGridMultipleWndProc(DBGrd: TDBGrid; var Msg: TMessage);
...
implementation
Uses
....;
{$R *.dfm}
...
procedure TFormPrincipal.DBGridMultipleWndProc(DBGrd: TDBGrid; var Msg: TMessage);
begin
ShowScrollBar(DBGrd.handle, SB_HORZ, False);
ShowScrollBar(DBGrd.handle, SB_VERT, True);
FDBGridWndProc(Msg);
end;
...
procedure TFormPrincipal.FormCreate(Sender: TObject);
Begin
....
{CACHE LES SCROLLBARS DU DBGRIDCategorie}
FDBGridWndProc := DBGridCategorie.WindowProc;
DBGridCategorie.WindowProc := DBGridMultipleWndProc( ??????);
// que puis-je mettre ici ? j'ai essayé DBGridMultplieWndProc(DBGridCategorie); mais cela ne fonctionne pas ?
... |
Avez-vous une idée ?