如何在程序最大化时,控件的比例也随着增大? 重写WM_MAXIZE(是不是这个?反正就是窗口最大化那个消息),在这个消息的处理过程里面对修改每个控件的尺寸. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置Align或者Anchors,具体试一下就知道了 设置Align或者Anchors 可以改变控件尺寸,但是如果控件很多,有十几、几十个怎么办,可能只有在程序中修改每个控件的尺寸,具体我也没试过,用设置Align或者Anchors方法改尺寸,我用过. 用程序计算可以得到,不过工程十分浩大,我曾经经过完全使用自定义(Create)的控件,然后计算大小比较方便一点,不知道有没有简单的方法。 利用ScaleBy(x,y)函数,x和y都是integer类型的数值,函数作用是将窗体里的组建变为原来的x/y倍。具体做法是:1)在声明form的单元接口部分定义两个变量用来记忆form的Height和Width属性: var LastHeight:=Height; LastWidth:=Width;2) 编写窗体创建过程: procedure TForm1.FormCreate(Sender: TObject); begin LastHeight:=Height; LastWidth:=Width; end; //用来记忆窗体的原始尺寸。3) 编写窗体的OnResize事件: procedure TForm1.FormResize(Sender: TObject); begin scaleby(Height,LastHeight); LastHeight:=Height; LastWidth:=Width; end; //当窗体尺寸改变时,其中的组件也变化。注意事项:1)组件上的文本使用TrueType字体,才会有好的效果。2)上面的代码是针对Form的Height属性的变化而改变的,你也可以稍微修改一下使其响应 Width属性的变化。但使组件的尺寸同时根据两个属性而变化则无能为力。不过以上代 码已经完全可以实现你的问题。 用程序计算可以得到,但是如果控件很多,有十几、几十个怎么办,工程十分浩大我觉得最好是事先对系统的界面做好规划,然后多用几个容器组件如:panel,bevel,splitter等,设置它们的Align属性! 那PageControl控件也应该算是一个容器组件吧 用scaleby(Height,LastHeight);屏幕闪烁太厉害了 我做过界面很复杂的系统,十分同意 mengbo(心有独钟) 看法。(千万不要企图改变edit等控件的大小——自己想一下,那会好看吗?)安排好布局,用Panel等分隔程序,并且设置好alien属性,有时候要注意摆放顺序。 这个问题会难到连CSDN上的人都解决不了啊 修改控件的 anchors 属性:=[akLeft,akTop,akRight,akBottom] 我以前问过,希望对你有用:]http://www.csdn.net/expert/topic/398/398538.shtm 各位大虾看这里,求一个表格效果的实现! Delphi8如何调用c#写的dll? 请问在Delphi中调试退出程序后,能否查看到程序的泄漏情况? 有高手吗?如何把本机的某端口映射到其他IP地址的某端口。 大伙一起讨论写一个画箭头的控键! 谁有Sreport控件?25分~留个地址给小弟~(分不够再加)! 我编写了一个局域网攻击程序,大家测试一下多提提意见 mdi的问题 数据更新错误,怎么恢复? 怎样用SENDmessage函数改变一个输入焦点 如EDIT1中的内容? BDE错误$2109 self没有定义,编译不能通过如何解决?
1)在声明form的单元接口部分定义两个变量用来记忆form的Height和Width属性:
var
LastHeight:=Height;
LastWidth:=Width;
2) 编写窗体创建过程:
procedure TForm1.FormCreate(Sender: TObject);
begin
LastHeight:=Height;
LastWidth:=Width;
end; //用来记忆窗体的原始尺寸。
3) 编写窗体的OnResize事件:
procedure TForm1.FormResize(Sender: TObject);
begin
scaleby(Height,LastHeight);
LastHeight:=Height;
LastWidth:=Width;
end; //当窗体尺寸改变时,其中的组件也变化。注意事项:
1)组件上的文本使用TrueType字体,才会有好的效果。
2)上面的代码是针对Form的Height属性的变化而改变的,你也可以稍微修改一下使其响应
Width属性的变化。但使组件的尺寸同时根据两个属性而变化则无能为力。不过以上代
码已经完全可以实现你的问题。
我觉得最好是事先对系统的界面做好规划,然后多用几个容器组件如:panel,bevel,splitter等,设置它们的Align属性!
屏幕闪烁太厉害了
http://www.csdn.net/expert/topic/398/398538.shtm