请教用DELPHI做的程序如何能够自适应屏幕是800*600和1024*768呢?开始菜单自动隐藏如何解决,有好方面吗?多谢!

解决方案 »

  1.   

    推荐你看这个
    http://www.tomore.com/1/5862.html窗口onshow时,获取屏幕的长度和宽度, 
    然后 form1.height :=...;
    form1.width :=..;
      

  2.   

    基本上每个控件都有Align属性,设置为alClient,就会铺展至整个界面。
    比如你设置form的Align属性,运行之后就会自己适应屏幕大小了
      

  3.   

    //定义分辨率
    const
        ScreenHeight: integer = 1024;
        ScreenWidth: integer = 768;
    var
        x, y: LongInt;
    begin
        self.scaled := true;
        //窗体可以缩放
        x := getSystemMetrics(SM_CXSCREEN);
        y := getSystemMetrics(SM_CYSCREEN);
        //程序运行时获取目标机器的屏幕分辨率
        if (x <> ScreenHeight) or (y <> ScreenWidth) then
        //目标机器的屏幕分辨率与作者机器的屏幕分辨率不同
        begin
            self.height := self.height*x DIV ScreenHeight;
            self.width := self.width*y DIV ScreenWidth;
            scaleBy(x,ScreenHeight);
            //调用窗体的scaleBy函数,将窗体大小变为初始大小的x/ ScreenHeight倍。
            //这是本程序的关键技巧,同时缩放的包括窗体上各组件和字体。
        end;
      

  4.   

    comerliang 所有的窗体都要加上这个代码了?
      

  5.   

    comerliang 所有的窗体都要加上这个代码了?===================================================
    可以做到模板里
      

  6.   

    add to repository...以后新建窗体从add的继承
      

  7.   

    分辨率可用Screen得到。窗体自动满屏可以用WindowsState属性来实现啊。