首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >滚动条的TForm问题

滚动条的TForm问题
EN

Stack Overflow用户
提问于 2012-08-10 15:37:08
回答 1查看 801关注 0票数 1

我已经创建了一个Delphi 7应用程序。主窗体是一个具有以下属性的TForm对象:

代码语言:javascript
复制
BorderIcons:
- biSystemMenu = True
- biMinimize = True
- biMaximize = False
- biHelp = False

BorderStyle = bsSizeable

Position = poScreenCenter

Event OnCanResize: Resize := FALSE;

这个想法是表单不能最大化,也不能调整大小,仅此而已。它工作得很好,但当我在某些系统(Windows7和Windows XP)上运行时,会显示滚动条。再说一次,只有在某些系统中。

我认为这是因为显示器的屏幕分辨率太小,所以应用程序窗口被裁剪了。但事实并非如此。应用程序完美地显示在中心。

到目前为止,我尝试应用了互联网上的许多技巧和技巧:

OnFormShow:

代码语言:javascript
复制
 if VertScrollBarVisible(MainForm.Handle) then
  begin
    MainForm.Constraints.MaxHeight := MainForm.Constraints.MaxHeight + 10;
    MainForm.Constraints.MinHeight := MainForm.Constraints.MinHeight + 10;
    MainForm.Height := MainForm.Height + 10;
  end;

  if HorzScrollBarVisible(MainForm.Handle) then
  begin
    MainForm.Constraints.MaxWidth := MainForm.Constraints.MaxWidth + 10;
    MainForm.Constraints.MinWidth := MainForm.Constraints.MinWidth + 10;
    MainForm.Width := MainForm.Width + 10;
  end;

它固定在一些系统上...但不是全部。

这让我困惑不解。

我得到了另一个技巧,设置TForm.Scaled := FALSE和TForm.AutoScroll := FALSE。修复了这些系统,但是表格的底部被切断了!有一点。

所以,现在我要问的是...

这些TForm参数,如宽度、高度,是否保存并存储在系统中的某个位置?Windows操作系统会强制应用程序接受该值吗?

因为,在过去,我的应用程序根本没有这个问题。但是后来,我改变了窗体的大小,添加了更多的gui,然后问题来了。现在,我在想,原始的TForm属性存储在某个地方。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-10 15:44:57

Windows > XP中的边框较大。我不确定Constraints是做什么的,因为我还没有用过它们。你有没有测试过在你的组件和表单的右下端之间使用更大的距离?

编辑:一些组件在不同的操作系统上有不同的默认大小。

EDIT 2:您的窗体不应可调整大小,因此您可以使用BorderStyle := bsSingle关闭调整。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11897341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档