如何屏蔽dbgrid的滚动条?各位大虾急救我!跪谢

迭板神捕 2004-06-21 02:45:07
我要做一个很简单的通过dbgrid显示数据的界面,而其中页面的切换希望通过点击上一页,下一页完成,而不需要拖动滚动条,请问如何实现屏蔽横竖滚动条?各位大虾帮帮忙啊!
方法1.从 TDBgrid 继承一个新的类,重载它的Paint方法,用SetScrollRange取消滚动条:只能去掉垂直滚动条,而且基层类放到窗体上不断闪烁,闪烁是个大问题
方法2.在DBGrid1所在船体创建的TStringGrid(DBGrid1).Scrollbars:=ssNone; 只能去掉DBGrid1的水平滚动条
此问题已经困扰本人数周,令我茶饭不思,望高手出手相救,挽救濒临崩溃的我。。
...全文
171 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
迭板神捕 2004-06-22
  • 打赏
  • 举报
回复
非常感谢镇江兄对本问题的关注,我昨天将你的showscrollbar按照自己的意愿错加在formcreate中,所以水平滚动条总是存在,所以以为是镇江兄的方法不对,所以也没有继续测试你的ondatachange事件,今天在你的指点之下终于顺利解决问题,真是万分感谢。。。
fim 2004-06-21
  • 打赏
  • 举报
回复
我测试过,按我说得做,应该是不会出现滚动条的,而且无任何闪烁!我试过N遍了^_^

目前这应该是最好的解决方法了,除非重写DBGrid或用第三方控件。

下班回家咯.
迭板神捕 2004-06-21
  • 打赏
  • 举报
回复
我已经用了both了,但问题就只能去掉垂直滚动条,镇江兄你写的这么明白我又怎么会视而不见呢,非常感谢你的热心,另外我是要滚动条绝对没有机会出现,哪怕是一刹那。。。所以就算在上述两处添加showscrollbar也不行的。。 。
fim 2004-06-21
  • 打赏
  • 举报
回复
<<而且当用户点击到滚动条被隐藏的位置,滚动条又会出现。。。

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
ShowScrollBar(DBGrid1.Handle,SB_BOTH,False);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
ShowScrollBar(DBGrid1.Handle,SB_BOTH,False);
end;

又偷偷上来答一下帖,闪人~~~~~~
fim 2004-06-21
  • 打赏
  • 举报
回复
<<你那种方法首先只能去掉垂直滚动条
我在二楼已经答过了,SB_BOTH
迭板神捕 2004-06-21
  • 打赏
  • 举报
回复
你那种方法首先只能去掉垂直滚动条,而且当用户点击到滚动条被隐藏的位置,滚动条又会出现。。。
juliens 2004-06-21
  • 打赏
  • 举报
回复
支持镇江兄!
fim 2004-06-21
  • 打赏
  • 举报
回复
将上述代码加到DataSource1.OnDataChange事件中
fim 2004-06-21
  • 打赏
  • 举报
回复
ShowScrollBar(DBGrid1.Handle,SB_BOTH,False);
fim 2004-06-21
  • 打赏
  • 举报
回复
ShowScrollBar(DBGrid1.Handle,SB_VERT,False);

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧