Q&A

  • 폼의 최소화 이벤트는 뭐죠???
안녕하세요
제가 rxtrayicon 써서 메신저 만드는데
폼을 최소화 하면 폼이 없어지고 trayicon 이
생겨야 되잖아요
근데 폼의 최소화 할때의 이벤트가 없는거 같은데
폼이 최소화될때를 어떻게 알아내죠????  
1  COMMENTS
  • Profile
    Black}{ole 2002.02.25 22:08
    안녕하세요. ^^;

    WM_SYSCOMMAND메세지에 WParam값을 $FFF0값을 and연산한값이 SC_MINIMIZE일때.. 최소화 될때.. 날아오는 메세지 값이거든요.

    프로그램이 최소활때..
    TApplication객체에서는 위에 메세지값이 날아오면.. OnMinimize에 이벤트가 있을때 처리를 합니다.


    type
      TMainForm = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        procedure DoMinimize(Sender: TObject);
      public

      end;

    var
      MainForm: TMainForm;

    implementation

    {$R *.dfm}

    procedure TMainForm.FormCreate(Sender: TObject);
    begin
      Application.OnMinimize := DoMinimize;
    end;

    procedure TMainForm.FormDestroy(Sender: TObject);
    begin
      Application.OnMinimize := nil;
    end;

    procedure TMainForm.DoMinimize(Sender: TObject);
    begin
      //최소화 되었을때 처리..
    end;

    end.

    폼이 최소될때는
    procedure TMainForm.WMSysCommand(var Message: TWMSysCommand);
    begin
      with Message.CmdType and $FFF0 = SC_MINIMIZE) then
        //최소화 이벤트 처리
    end;



    그럼..20000.