CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

delphi中开发的程序窗口如何自适应分辨率啊??

楼主xiexiaopeng(Ц)2005-09-04 18:02:40 在 Delphi / 数据库相关 提问

本人用delphi开发程序是在1024×768分辨率的机器上,但现在要在800*600上使用,有些比较大的窗体就显示不全了,要拖来拖去,请高手讲下如何才能自动的适应啊?谢谢! 问题点数:20、回复次数:12Top

1 楼jackie168(http://soft.eastrise.net)回复于 2005-09-04 19:42:05 得分 20

 
  inplementation  
  const  
      ScreenWidth:   LongInt   =   1024;   {I   designed   my   form   in   1024×768   mode.}  
      ScreenHeight:   LongInt   =   768;  
   
  {$R   *.DFM}  
   
  procedure   TForm1.FormCreate(Sender:   TObject);  
  begin  
      scaled   :=   true;  
      if   (screen.width   <>   ScreenWidth)   then  
      begin  
          height   :=   longint(height)   *   longint(screen.height)   div   ScreenHeight;  
          width   :=   longint(width)   *   longint(screen.width)   div   ScreenWidth;  
          scaleBy(screen.width,   ScreenWidth);  
      end;  
  end;  
   
  下一步,要每個子控制的字体改變到合适的大小:  
  type  
      TFooClass   =   class(TControl);   {   needed   to   get   at   protected   }  
                                                                {   font   property   }  
   
  var  
      i:   integer;  
  begin  
      for   i   :=   ControlCount   -   1   downto   0   do  
          TFooClass(Controls[i]).Font.Size   :=  
                  (NewFormWidth   div   OldFormWidth)   *  
                  TFooClass(Controls[i]).Font.Size;  
  end;Top

2 楼HWHuang()回复于 2005-09-04 23:43:15 得分 0

同意楼上的,但是我觉的还要考虑Form里面的控件,Form小了有可能见不到某些控件Top

3 楼ljd2005()回复于 2005-09-04 23:47:34 得分 0

学习中,原来可以这样来搞定分辨率。Top

4 楼wjbych()回复于 2005-09-05 08:47:26 得分 0

果然是高人,不过我看不懂,学习中!~Top

5 楼china618(▲▲▲▲▲差一千分)回复于 2005-09-05 11:39:51 得分 0

Form1.Scaled:=true;  
  Form1.ScaleBy(768,1024);Top

6 楼xinshiji(自由我有)回复于 2005-09-05 11:43:12 得分 0

晚了Top

7 楼csdyyr(杨溢)回复于 2005-09-06 11:38:17 得分 0

WindowState   :=   wsMaximized;  
  還有調整控件的Align和Anchors屬性可以滿足這方面的需要.Top

8 楼wlbfeihu(下辈子不写程序)回复于 2005-09-06 11:42:25 得分 0

佩服  
  Top

9 楼mzcih(小马过河)回复于 2005-09-06 11:48:41 得分 0

问题是每个控件的大小都要都住改变,多就挺麻烦的。Top

10 楼yifei1900(逸飞)回复于 2005-09-06 11:49:50 得分 0

从全局的对象Screen中可以取得很多有用的信息,如屏幕分辨率、可用字体列表、可用输入法列表等等,  
  可以在窗体未显示之前通过Screen对象中获取的信息设置窗体大小,但是如果你在1024*768下设计的窗体大于800*600时,想在800*600的分辨率下获得良好的视图,比较麻烦,  
   
  一般来说,由于800*600的分辨率显示器还很普遍,我们公司的软件界面,限制不能超过780*540,除非确定客户绝对不会在800*600分辨率下使用软件。Top

11 楼xiexiaopeng(Ц)回复于 2005-09-07 19:33:55 得分 0

谢谢各位大侠的回复,小弟先谢谢了!Top

12 楼zhubo006(山东大汉)回复于 2005-12-29 15:11:13 得分 0

学习.......Top

相关问题

  • PB程序如何适应不同的现实分辨率?
  • 程序自动适应"分辨率",是什么原理?
  • 怎么样使自己的应用程序适应不同的分辨率!
  • 如何能让做好的程序界面自动适应Windows的分辨率
  • C#应用程序,窗体如何自动适应不同的分辨率?
  • ***vb下如何让程序窗体自动适应分辨率?(高分奉送)
  • 关于程序运行界面适应计算机屏幕分辨率的问题——40分的期盼!!
  • 让程序(包含多个FORM)自适应各种分辨率的显示器?在线等!急!!!
  • 如何让程序适应不同的DPI(大/小字体)设置,不同分辨率的环境?
  • 窗口大小自适应分辨率

关键词

  • 控件
  • 学习
  • 分辨率
  • 窗体
  • tfooclass
  • longint
  • screenwidth
  • screen
  • 谢谢
  • 大小

得分解答快速导航

  • 帖主:xiexiaopeng
  • jackie168

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo