C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[26291] [질문]Statusbar에 값이 써 지지 않는문제..
초보 [] 727 읽음    2003-07-11 09:47
TOpenDialog로 화일 불러올때..화일 사이즈가 큰 화일은 시간이 좀 오래 걸립니다.
그런데, 유저는 화일이 오래 걸리는지 잘 모릅니다.
이런 문제 문제점을 보안하기 위해..
화일의 불러올때 Progressbar와 StatusBar로 그 상태를 출력합니다.

int LoadCallFile(long FileSize);
  long OpenFileProgress,realSize = 0,LoadSize ;
  LoadSize = FileSize;

    while(LoadSize != 0) {
      FormMain->StatusBar1->Panels->Items[0]->Text = " ";
      if(LoadSize < 0x10000) {    //화일이0x10000 보다 적을경우
        .......
        LoadSize = 0;
        OpenFileProgress = 100; 
      }
      else {
        ..........
        LoadSize -= 0x10000;
        realSize += 0x10000;
        OpenFileProgress = ( realSize*100 / FileSize); //퍼센트로 계산해서
      }
      FormMain->ProgressBar1->Position = OpenFileProgress;
      FormMain->StatusBar1->Panels->Items[0]->Text = IntToStr(OpenFileProgress); 
    }
return true;
}

위에서 화일크기과  OpenFileProgress(화일크기를 퍼센트로계산) 값을 정확히 읽어오는데..
StatusBar1->Panels->Items[0]->Text에 크기가 써지지 않습니다. 
디버깅을 하면 정확히 크기만큼 읽어오는데.. 값이 적어지지 않는군여..
이 함수가 수행이 끝나면 100이라는 값만 나옵니다.
왜 그럴까여?
OnDrawPanel 이벤트를 사용하면 중간 과정은 나타나비 않고 마지만 값만 나타나는군여
       
화일을 다 읽어오면  100 라는 값만 출력하고 그 전에는 값을 출력하지 않습니다.

+ -

관련 글 리스트
26291 [질문]Statusbar에 값이 써 지지 않는문제.. 초보 727 2003/07/11
26292     Re:[질문]Statusbar에 값이 써 지지 않는문제.. Julien 773 2003/07/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.