안녕하세요 델파이가 너무나 잼있는 왕초보입니다.^^;
제가 스플래쉬 화면을 좀 써볼라구 Q&A를 찾아봤는데
제가 원하는 내용이 없는것 같습니다.
프로그램 셋업시킬때 보면 프로그래스바가
셋업되는 속도에따라서 증가하잖아요.
저두 스플래쉬 폼에 프로그래스바를 놓고 폼 로딩시간에 따라
프로그래스 바를 키우고 싶은데 이런건 어케 만들어야 되는지
찾기가 정말 힘드네요.
저는 아무것도 모르는 초보라서 도저히 시작점 조차 찾을 수가 없네요.
하지만 고수님들 이라면 할수 있을것 같으신데...
방법이 좀 있으면 이 무지한 초보에게 한수 갈켜 주세요.
그럼 즐코 하시구요^^ 담에 또 질문 올리 겠습니다.
(맨날 질문만 올려서 죄송합니다. ^^*)
아 하나더 궁금한게 생겨서요. 밑에거요.
저기서 frmSplash.Update; <- 요거 써주면 메인폼이 뜨기전까지
스플래쉬 폼이 살아있어야 되는거 아닌가요? 조거 설명해준곳에서
그렇게 나와 있었거든요. 어떻게 된건지 알고 싶습니다. Q&A보니깐
원래 안되는 것 같던데...
frmSplash := TfrmSplash.Create(Application);
frmSplash.Show;
frmSplash.Update; <- 요거 뭐죠?
Application.Initialize;
Application.CreateForm(TdtmdMain, dtmdMain);
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TfrmGuest, frmGuest);
Application.CreateForm(TfrmBook, frmBook);
Application.CreateForm(TfrmBookList, frmBookList);
frmSplash.Hide;
frmSplash.Free;
Application.Run;
SAMPLE를 만들어야 되어서 간단한 SAMPLE 소스를 적습니다.
보통는 다른 방법를 쓰지요
begin
Application.Initialize;
with TForm5.Create(nil) do
try
ProgressBar1.Max := 100;
Show; // show a splash screen contain ProgressBar control
Update; // force display of Form5
Application.CreateForm(TForm1, Form1);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm2, Form2);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm3, Form3);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm4, Form4);
ProgressBar1.StepBy(25);
finally
Free;
end;
Application.Run;
end.
[ Upadte 답변 ]
보통은 Form 의 창에 대한 Refresh 기능이 자동으로 처리되지만
강제로 하고 싶은 경우에 지원하는 함수 입니다.
따라서, 차의 화면에 나타나는 정보를 새로 다시 그려준다고 보시면 됩니다.
아래는 영어로 된 도움말입니다
Update repaints any part of the control surface that is out of date. Normally, updates occur automatically, but an Update call may be neccesary before lengthy processing that might interfere with automatic updates. Calling Update unnecessarily can increase overhead and cause screen flicker.
Update only repaints areas of the control the have been determined to be out of date. To force immediate repainting of the entire control, call Repaint. To notify a control that it is out of date (without forcing an immediate repaint), call Invalidate.
=========================================
초짜 올림 wrote:
> 안녕하세요 델파이가 너무나 잼있는 왕초보입니다.^^;
>
> 제가 스플래쉬 화면을 좀 써볼라구 Q&A를 찾아봤는데
>
> 제가 원하는 내용이 없는것 같습니다.
>
> 프로그램 셋업시킬때 보면 프로그래스바가
>
> 셋업되는 속도에따라서 증가하잖아요.
>
> 저두 스플래쉬 폼에 프로그래스바를 놓고 폼 로딩시간에 따라
>
> 프로그래스 바를 키우고 싶은데 이런건 어케 만들어야 되는지
>
> 찾기가 정말 힘드네요.
>
> 저는 아무것도 모르는 초보라서 도저히 시작점 조차 찾을 수가 없네요.
>
> 하지만 고수님들 이라면 할수 있을것 같으신데...
>
> 방법이 좀 있으면 이 무지한 초보에게 한수 갈켜 주세요.
>
> 그럼 즐코 하시구요^^ 담에 또 질문 올리 겠습니다.
>
> (맨날 질문만 올려서 죄송합니다. ^^*)
>
> 아 하나더 궁금한게 생겨서요. 밑에거요.
>
> 저기서 frmSplash.Update; <- 요거 써주면 메인폼이 뜨기전까지
>
> 스플래쉬 폼이 살아있어야 되는거 아닌가요? 조거 설명해준곳에서
>
> 그렇게 나와 있었거든요. 어떻게 된건지 알고 싶습니다. Q&A보니깐
>
> 원래 안되는 것 같던데...
>
> frmSplash := TfrmSplash.Create(Application);
> frmSplash.Show;
> frmSplash.Update; <- 요거 뭐죠?
> Application.Initialize;
> Application.CreateForm(TdtmdMain, dtmdMain);
> Application.CreateForm(TfrmMain, frmMain);
> Application.CreateForm(TfrmGuest, frmGuest);
> Application.CreateForm(TfrmBook, frmBook);
> Application.CreateForm(TfrmBookList, frmBookList);
> frmSplash.Hide;
> frmSplash.Free;
> Application.Run;
>