请帮我看看这段代码对不对????(50分)

  • 主题发起人 主题发起人 麻村小子
  • 开始时间 开始时间

麻村小子

Unregistered / Unconfirmed
GUEST, unregistred user!
我是想让窗体中的表格的宽度和column[1]的宽度跟随窗体的大小而调整,我写了下面的代码
但运行起来好象太不到效果。。。。
begin
if Form1.WindowState=WSNormal then
begin
DBgrid1.Width:=form1.Width-10;
DBGrid1.Columns[1].Width:=280;
end
else
begin
DbGrid1.Width:=form1.Width-10;
DBGrid1.Columns[1].Width:=551;
end;
end;
 
你要把它们放在form1的onresize事件里,比较好
而且效果也还马马虎虎
 
Form1.WindowState=WSNormal 这个有问题,不是最大或最小,就是Normal!

首先最小时我们不管它,
你的程序在最大时会执行下面的,其它情况都会执行上面的。

另外,你的代码是放在什么事件中,有关大小控件一般要放在OnSize事件中,否则动态
调整大小时不起作用。
 
不,我还是不明白。。。。。。
 
同意jsxjd,你在代码中加个断点确认一下你的程序是否执行了这段代码。
 
为何按下最大化按钮时执行的还是上面的语句,而再次按下按钮时才执行下面的语句???
 
因为你按最大化的时候,窗口是在WSNormal 状态,此时捕捉到的当然是上面的。
当你再按一次,这时候窗体是在最大状态,所以执行下面的语句。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部