如果更大,无法设置主窗体显示滚动条

时间:2010-06-11 04:47:57

标签: delphi

我已经在22英寸显示器上以最高分辨率开发了一款应用程序 当我在具有不同比率和较小分辨率的笔记本电脑上运行时,表格太大 - 无法预料 但是如果需要的话,没有滚动条自动显示整个事物 我已经调整了所有选项,但无法弄明白 我当然尝试过自动滚动,但没有 我确信这不是那么困难,但我被困住了 因此,如果有人能指出我要改变哪些属性,我将是最棒的 甚至更好的一些简单的策略或组件(甚至支付),以实现更好的屏幕分辨率独立性 但滚动条很棒,以

开头

4 个答案:

答案 0 :(得分:2)

设置AutoScroll = True和BorderStyle = bsSizeable以使现有表单正常工作。如果您的表单的内容较小,则AutoScroll仅启动,但如果BorderStyle设置为不允许调整大小的内容,则不会发生这种情况。

然后,当你有一些时间在你的手上时,请查看TScrollBox并设计你的表格以便很好地扩展;把不能缩放的东西放在ScrollBox上(这样你就可以控制滚动和滚动的内容)。

答案 1 :(得分:1)

当您使形状比其最右侧控件的右侧更窄时自动滚动并且/或使形状比其最底部控件的底部短。如果表单上没有控件,我认为无论你的大小有多小都不会发出任何滚动条。

您正在寻找的不仅仅是自动滚动,还可以根据当前屏幕尺寸自动调整表单大小。这没有“自动”属性。在创建/显示表单时,您必须自己处理它。

在OnCreate中(或继承调用后的构造函数本身):

Height := Screen.Height;
Width := Screen.Width;

答案 2 :(得分:1)

它似乎确实有效,因为表单有面板和分割器,它是一个复杂的形式 从我在互联网上看到的,笔记本电脑上的表格确实显示(包括我的)是因为主要表格中嵌入的面板/框架调整大小,因为选项对齐是alclient或alleft,所以只要顶部形式是关注它们是完全可见的,因此没有出现滚动条。我不知道如何强制顶层表单按需显示其滚动条 创造就像那样的东西 如果screen.heigth

答案 3 :(得分:1)

正如我对Cosmins answer所评论的那样,我认为你们错过了一些东西。如果容器的内容大于同一容器的clientarea,则会在容器内显示滚动条。

大一点,我的意思是  1.儿童组件的宽度或高度大于容器的宽度或高度,或  2.放置子组件,其中部分或全部组件位于容器客户区域之外。

您所描述的是一种足以显示其所有内容但足以显示当前桌面分辨率的表单。

例如。在具有1280x1024分辨率的计算机屏幕上的1600x1200像素的表单。

在这种情况下,它不会是滚动条,如果有滚动条,滚动条应该在桌面上,这是表单所在的容器,而不是表单。

您应该做的是确保您的主表单不比桌面大。如果缩小表单bounderies,它将开始剪切内容,并且应该出现滚动条。