Q&A

  • "작업중" 메시지 보여주기
쿼리를 실행하여 그리드에 데이터를 보여주는 프로그램에서

쿼리가 실행되는 중에 "처리중" 메세지를 보여주고,

쿼리가 끝나고 그리드에 데이터를 보여주면 "처리중" 메세지를 없애려고 합니다.

다시말해 이벤트가 시작되는 시점과 종료되는 시점을 알고자 합니다.

이런 경우에 어떤 방법으로 처리해야 하는지 문의드립니다.
1  COMMENTS
  • Profile
    큐브 2006.12.27 00:40
    < '작업중' 메시지를 표시하기 위한 폼 >

    procedure TfrmMsgBox.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
            Action  :=  caFree;
    end;

    procedure TfrmMsgBox.FormCreate(Sender: TObject);
    begin
            (Sender  as  TForm).BorderStyle  :=   bsNone;
            (Sender  as  TForm).Color            :=   clBtnFace;
            (Sender  as  TForm).FormStyle     :=   fsStayOnTop;
            (Sender  as  TForm).KeyPreview  :=   True;
            (Sender  as  TForm).Position        :=   poMainFormCenter;
            (Sender  as  TForm).Visible           :=  True;
            (Sender  as  TForm).WindowState:=  wsNormal;
            (Sender  as  TForm).Height           :=  150;
            (Sender  as  TForm).Width            :=  300;

            Panel1.Color           :=    clMenuHighlight;
            Panel1.BorderStyle :=    bsSingle;
            Panel1.Align            :=    alClient;

            Label1.Caption       :=   '데이터 처리중 입니다.';
            Label1.Font.Color   :=   clYellow;
            Label1.Font.Size     :=   16;
            Label1.Font.Style    :=   [fsBold];

            Label2.Caption        :=  '잠시만 기다려 주십시오.';
            Label2.Font.Color    :=  clWhite;
            Label2.Font.Size      :=  16;
            Label2.Font.Style     :=  [fsBold];
    end;

    < 사용예제 >
            try
                    이벤트 시작
                           :
                    Screen.Cursor  :=  crSQLWAIT;
                    frmMSGBOX      :=  TfrmMSGBOX.Create(Application);
                    frmMSGBOX.Show;
                           :
                    이벤트 종료
            finally
                    frmMSGBOX.Close;
                    Screen.Cursor  :=  crDefault;
            end;