delphi 窗体过长,怎么加滚动条,求过来人解决

如题所述

直接加一个ScrollBar1: TScrollBar;控件,按你的需要设计窗体,需要多高就设计多高,总不是要放很多控件吗,控件摆放好后,再将窗体缩放到理想的大小,把ScrollBar1: TScrollBar;的对齐属性设置为靠左或靠右,并且将设置为垂直滚动条就可以了,窗体就可以滚动了,不过这样的搞法,用户肯定不欢迎,要拨动滚动条,用户会烦的.追问

这种控件鼠标拖动时不能及时显示,需要松开才显示拖动后的结果。我是想问有没有解决的办法或第三方控件。delphi自带的控件都不好用,难怪学的人少。

追答

不是不好用,是不会用,DELPHI在开发数据库管理软件方面,无与论比,它的控件可选设置项目太多,一时难以掌握,你就不能说它不好用了.下面这位告诉你了 self.AutoScroll := true

追问

这个我知道,我的意思是说这个问题就是鼠标拖动滚动条时不能即实生效,需要松开滚动条才生效。这就如同dbgrid一样。可是dbgrid我可以用第三方控件ehgrid,那这个滚动条呢。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-19
当你的空间超出窗体时,窗体会自动加上滚动条.
第2个回答  2013-02-18
放个ScrollBox到窗体上,控件都移进去,会自动管理滚动条的

不过不推荐这样做,在C/S程序里最好是不用滚动条方式,可以考虑用分页、分步骤(向导)追问

这种控件鼠标拖动时不能及时显示,需要松开才显示拖动后的结果。我是想问有没有解决的办法或第三方控件。delphi自带的控件都不好用,难怪学的人少。

追答

自己处理滚动条事件或滚轮事件,不过还是建议分页

追问

求代码,我这儿上头要求,不得不这样做。

第3个回答  2013-02-19
procedure TForm1.FormCreate(Sender: TObject);
begin
self.AutoScroll := true;
end;
第4个回答  推荐于2016-02-10
//Form的滚动条
HorzScrollBar.Tracking := True;
VertScrollBar.Tracking := True;

//如果用TScrollBox
With ScrollBox1 Do
Begin
HorzScrollBar.Tracking := True;
VertScrollBar.Tracking := True;
End;本回答被提问者采纳

delphi 窗体过长,怎么加滚动条,求过来人解决
直接加一个ScrollBar1: TScrollBar;控件,按你的需要设计窗体,需要多高就设计多高,总不是要放很多控件吗,控件摆放好后,再将窗体缩放到理想的大小,把ScrollBar1: TScrollBar;的对齐属性设置为靠左或靠右,并且将设置为垂直滚动条就可以了,窗体就可以滚动了,不过这样的搞法,用户肯定不欢迎,要拨动滚动条...

delphi 窗体过长,怎么加滚动条,求
\/\/Form的滚动条 HorzScrollBar.Tracking := True;VertScrollBar.Tracking := True;\/\/如果用TScrollBox With ScrollBox1 Do Begin HorzScrollBar.Tracking := True;VertScrollBar.Tracking := True;End;

delphi 添加滚动条的组件是哪一个?怎么实现的?
delphi的窗口控件一般都有滚动条属性,如果你想要给一个没有滚动条属性的控件达到类似的效果,可以这么做:添加ScrollBox容器组件,并将其他的控件放在这个容器组件里面。

delphi 窗口怎么加垂直滚动条
你如果说是窗口的话,只要窗口里的东西超出窗口的范围就会出现滚动条

delphi 中DBGrid 的滚动条问题
在窗体上添加一个ApplicationEvent控件,然后在它的OnMessage事件里写以下代码:procedure TForm1.ApplicationEvents1Message(var Msg:tagMSG;var Handled:Boolean);begin if(DBGrid1.Focused)And(Msg.message=WM_MOUSEWHEEL)then begin if Msg.wParam>0 then SendMessage(DBGrid1.Handle, WM_KEYDOWN, ...

Delphi使ListBox下拉时出现水平滚动条?
在你的Form的OnCreate事宜中添加以下代码: procedure TForm1.FormCreate(Sender: TObject); var i, MaxWidth: integer; begin for i := 0 to ListBox1.Items.Count - 1 do MaxWidth := 0; if MaxWidth < ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]) then MaxWidth := List...

delphi StringGrid一行一行的增加表格,如何实现垂直滚动条一直跟着新增...
还有DBGRIDEH显示数据更优秀。可能是想用delphi StringGrid作数据录入界面,我劝你一句,这是一种最愚蠢的搞法,首先是不能进行快速录入数据,其次是这样做,满版的数据会让用户头昏眼花。你在表格中输入数据,最终的目的还是想把这些数据保存下来,既然保存,就应该使用DBGRID或者DBGRIDEH。

delphi中的dbgrid水平滚动条的问题
dbgrid里随便加个字段长度设置成255 这不就总有了么 或者你要是只是想好看 可以直接加一个上去

delphi让窗体无滚动条
可以设置Form窗体属性:水平滚动条:HorzScrollBar下的Visible设置为False;垂直滚动条:VertScrollBar下的Visible设置为False;

Delphi ListView如何显示水平滚动条?
ListView 控件的 vsStyle 设置为 vsreport,当内容超出当前的 ListVisw 宽度时,水平滚动条是自动显示的,通常不需要手动控制:ReadOnly 属性,用于设置当前的 ListView 是否允许更改。默认设置为 False,当鼠标两次点击条目时,会显示编辑框:设置为 True 时,不能进行编辑操作。

相似回答