님의 소스를 보면, ImgVideoLoading 이라는 콤포넌트가 있는거 같은데, 저는 그 콤포넌트를 몰라서 정확한 답변을 드릴수가 없습니다만, 그 콤포넌트가 동영상 플레이어면, 그 콤포넌트의 속성이나, 이벤트 쪽을 한번 살펴 보시면 어떨까요 ?
또는, Application->ProcessMessages() ; 소스 사이에 적당히 넣어 보세요.
예를들어,
m_pshow->Show();
Application->ProcessMessages() ;
ThreadMethod(); <<쓰레드함수 부르고
그리고, 아래 부분은 OnShow 이벤트에 넣으신거 같은데, 거기에도,
m_pshow->ImgVideoLoading->Visible = false;
Application->ProcessMessages() ;
m_pshow->ImgVideoLoading->Visible = true;
m_pshow->ImgVideoLoading->BringToFront();
Application->ProcessMessages() ;
이런식으로요...
만약, ImgVideoLoading 콤포넌트가, 볼랜드에서 제공하는 기본 콤포넌트인 TImage 라면,,,
OnShow 이벤트에서,
Image1->Picture->LoadFromFile("c:\\Temp\\이미지파일.jpg") ;
Application->ProcessMessages() ;
이렇게 하시면 될겁니다.
gksqjs94 님이 쓰신 글 :
: 안녕하세요. 오랜만에 질문글 올립니다.
: 제가 다른 작업을 할때 알려주기위해 작업 시작전에 폼을 띄우고 작업이 끝나면 그 폼을 닫을려고합니다.
: 이 폼에는 이미지하나만 띄워져있어요.
:
: 저는 쉽게 생각해서
: m_pshow->Show();
: ThreadMethod(); <<쓰레드함수 부르고
:
: ThreadMethod 함수 마지막에 m_pshow->Close();
:
: 이렇게 로직을 짰는데 이러면 무지화면이 먼저뜬다음에 이미지가 뜨더라구요.. 작업이 길어지니까 거의 대부분이 무지였다가 끝날때쯤 이미지로 바뀌는현상이에요.
:
: 그래서
:
: m_pshow->ImgVideoLoading->Visible = true;
: m_pshow->ImgVideoLoading->BringToFront();
:
: 이렇게 맨앞으로 보냈는데도 결과는 똑같아요.
: 어떻게 폼띄우자마자 바로 이미지를 띄울수 있을까요 ?
|