我如何在 Delphi7 的 dbgrid 上隐藏或删除水平滚动。我尝试通过更改宽度 onResize 但方法不正确。
问问题
6296 次
2 回答
6
尝试这个:
EnableScrollBar(DBGrid1.Handle,SB_HORZ,ESB_DISABLE_BOTH);
ShowScrollBar(DBGrid1.Handle,SB_HORZ,False);
问题是禁用滚动,但它显示:-(
其他选项是:
TDBgrid2 = class(TDBgrid)
private
procedure WMNCCalcSize(var msg: TMessage); message WM_NCCALCSIZE;
end;
.
.
procedure TDBgrid2.WMNCCalcSize(var msg: TMessage);
var
style: Integer;
begin
style := getWindowLong( handle, GWL_STYLE );
if (style and WS_HSCROLL) <> 0 then
SetWindowLong( handle, GWL_STYLE, style and not WS_HSCROLL );
inherited;
end;
它更复杂,但它是完美的解决方案。
于 2013-05-08T08:44:50.060 回答
2
大卫完美解决方案的后续行动。如果使用相同的类型名称,您不必更改 .dfm 中的类
TDBgrid = class(DBGrids.TDBgrid)
private
procedure WMNCCalcSize(var msg: TMessage); message WM_NCCALCSIZE;
end;
于 2014-10-20T09:12:58.390 回答