Q&A

  • showmessage 의 위치를 변환할수 있나요...
고수님들의 답변 부탁 드립니다.
showmessage의 위치가 항상 고정적인데 화면에 띄울때
위치를 지정 할수 있나요...

그리고 한가지 더 질문이 있습니다.
Timer 를 사용해서 Stored Procedure 작업 시간을 실시간 보여 줄려고 하는데
Stored Procedure 를 실행 하면 화면에 카운터 되던것이 멈춰 버립니다.
그리고 작업이 완료 되면 다시 화면에 나타 나는데...
참고로 SP 의 작업시간은 거의 30분이 넘게 소요되는것입니다.
2  COMMENTS
  • Profile
    최용일 2003.02.05 22:54
    안녕하세요. 최용일입니다.

    MessageDlgPos란 함수를 써보세요... ShowMessagePos란 함수도 있습니다. 이건 저도 처음 본건데 델파이 7에 있더군요...

    ^^ 항상 즐코하세요...

  • Profile
    구창민 2003.02.05 22:51
    안녕하세요~ 구창민입니다.

    CreateMessageDialog 를 쓰서 좌표를 주면 되긴 하겠지만,

    좀 더 꽁수를 써 보았네여.

    아래 코드를 올리니 보시고 참고 하세여.

    그럼~ 항상 즐거운 프로그래밍 하시길~~


    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, ExtCtrls;

    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        procedure TimerProc(Sender : TObject);
      end;

    var
      Form1: TForm1;
      Timer : TTimer;

    implementation

    {$R *.DFM}

    procedure TForm1.TimerProc(Sender : TObject);
    var
      MsgBoxHwnd : HWND;
      X, Y : integer;
    begin
      MsgBoxHwnd := FindWindow('#32770', '제목');
      if MsgBoxHwnd <> 0 then
      begin
        X := 10;
        Y := 10;
        SetWindowPos(MsgBoxHwnd, 0, X, Y, 0, 0, SWP_NOSIZE or SWP_NOZORDER) ;
      end;
      Timer.Enabled := False;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Timer          := TTimer.Create(self);
      Timer.Interval := 10;
      Timer.Enabled  := True;
      Timer.OnTimer  := TimerProc;

      Application.MessageBox('안녕하세요 구창민입니다', '제목', MB_OK or MB_ICONINFORMATION);
      Timer.Free;
    end;

    end.