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
[48299] Re:폼이 사라지는 문제.. 답변감사합니다.. 그래도 안되는군요.. 소스를 올렸습니다.
외랑 [] 1144 읽음    2007-03-05 19:53
전 그냥 이렇게 가볍게 구성했던 경우가 있어서 부분 소스를 한번 올려봅니다.
DB에서 레코드를 읽어올 때 보여줄 ProgressBar 폼을 만들고
이 폼이 보여질 동안 메인폼은 Disable로 만들어 버리면
완료될 때까지 ProgressBar 폼을 계속 보여줄 수 있습니다.
꼼수라고 해야 되나.. 뭐.. 그렇습니다. ㅋㅋ
아래 소스에서 DMSet은 데이터 모듈의 이름이었고,
ProgressBar는 Progressbar가 있는 폼의 이름입니다.
while문 내에서 Form의 Setfocus()를 사용하여 다른 곳으로 벗어나지 못하게 ㅋㅋㅋ
Disable과 Enable은 단순히 메인폼의 Enabled속성을 바꿔주는 함수입니다.
참조하시면 영광입니다..>^^<

    int index=0;
    int RecordCnt = DMSet->GetRecordCount();
    int Step = 1;    // devide Error 방지
    if(RecordCnt > 10) Step = RecordCnt/10;
    TProgressForm *ProgressBar = new TProgressForm(this);
    ProgressBar->Initialize(index, RecordCnt, index, Step, "Importing data from Server...");
    Application->NormalizeTopMosts();
    ProgressBar->Show();
    Application->RestoreTopMosts();

    Disable();
    DMSet->First();
    while(!DMSet->IsEOF())
    {
        DMSet->GetData(RawD);
        TransData->SetData(index++, RawD);
        DMSet->Next();

        if(!(index % Step)) ProgressBar->StepIt();
        ProgressBar->SetFocus();
        Application->ProcessMessages();
    }
    ProgressBar->Close();
    delete ProgressBar;
    Enable();

+ -

관련 글 리스트
48235 폼이 사라지는 문제.. 답변감사합니다.. 그래도 안되는군요.. 소스를 올렸습니다. jini 968 2007/02/28
48299     Re:폼이 사라지는 문제.. 답변감사합니다.. 그래도 안되는군요.. 소스를 올렸습니다. 외랑 1144 2007/03/05
48238     Re:폼이 사라지는 문제.. 답변감사합니다.. 그래도 안되는군요.. 소스를 올렸습니다. 장성호 1057 2007/02/28
48240         Re:Re:폼이 사라지는 문제.. 답변감사합니다.. 그래도 안되는군요.. 소스를 올렸습니다. jini 1042 2007/02/28
48239         Re:Re:폼이 사라지는 문제.. 답변감사합니다.. 그래도 안되는군요.. 소스를 올렸습니다. jini 1004 2007/02/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.