소스를 보면, 폼에 패널 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은 안보이고 프로그레스바만 보이나요?
참, 왜 이런줄 모르겠네요.. 제가 뭘 실수했는지 가르쳐 주세요.
> 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;