Q&A

  • 런타임에 Panel.Visible 속성 설정이 왜 안되죠?


소스를 보면, 폼에 패널 visible속성을 설정하는 버튼이 있고,

프로그레스바를 갖는 패널이 있고, 그 프로그레스바의 position을 바꿔주게 하는 버튼이 있습니다.





procedure TForm1.Button1Click(Sender: TObject);

begin

Panel1.Visible := True;

end;



procedure TForm1.Button2Click(Sender: TObject);

begin

Panel1.Visible := FALSE;

end;



procedure TForm1.Button3Click(Sender: TObject);

var

i, Sum : Integer;

begin

progressbar1.Max := 10000;

progressbar1.min := 1;

Panel1.Visible := True;



for i := 0 to progressbar1.Max do begin

ProgressBar1.Position := i;

end;



Panel1.Visible := FALSE;

end;





그런데 이렇게 해 보면, visible, invisible을 클릭할 때에는 패널과 프로그레스바가 전체적으로 보였다 안보였다 되는데, 프로그레스바를 진행시키는 버튼(button3)을 클릭하면 panel1을 먼저 visible시켜주고 진행이 끝나면 panel을 invisible시켰습니다.

근데, 여기서는 panel1.visible := TRUE;로 속성을 설정했을대는 panel1은 안 보이고, 프로그레스바만 visible := TRUE로 되어 진행되고 진행이 끝나면 visible := FALSE; 로 됩니다.



왜 panle은 안보이고 프로그레스바만 보이나요?



참, 왜 이런줄 모르겠네요.. 제가 뭘 실수했는지 가르쳐 주세요.

2  COMMENTS
  • Profile
    ... 2001.08.16 18:24
    >

    > procedure TForm1.Button3Click(Sender: TObject);

    > var

    > i, Sum : Integer;

    > begin

    > progressbar1.Max := 10000;

    > progressbar1.min := 1;

    > Panel1.Visible := True;







    Application.ProcessMessages;







    > for i := 0 to progressbar1.Max do begin

    > ProgressBar1.Position := i;

    > end;

    >

    > Panel1.Visible := FALSE;

    > end;



  • Profile
    2001.08.17 06:50
    ... wrote:

    > >

    > > procedure TForm1.Button3Click(Sender: TObject);

    > > var

    > > i, Sum : Integer;

    > > begin

    > > progressbar1.Max := 10000;

    > > progressbar1.min := 1;

    > > Panel1.Visible := True;

    >

    >

    >

    > Application.ProcessMessages;

    >

    >

    >

    > > for i := 0 to progressbar1.Max do begin

    > > ProgressBar1.Position := i;

    > > end;

    > >

    > > Panel1.Visible := FALSE;

    > > end;

    >