Q&A

  • 폼의 최소화???
최소화 버튼을 눌렀을때 말고

꼭 최소화 버튼을 눌러야 최소화 되는건 아니잖아요

내가 버튼을 따로 만들어서 최소화 시킬수도 있고

윈도우에 떠 있으면 밑에 바에서 클릭해도 최소화 되니깐

그 상황이 일어날때와 다시 윈도우에 나타날때

그때 를 알려고 하면 ...

고수님들 부탁드립니다.



6  COMMENTS
  • Profile
    영이 2000.11.28 04:33
    procedure TForm1.Button1Click(Sender: TObject);

    begin

    SendMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);

    end;



    조헌철 wrote:

    > 최소화 버튼을 눌렀을때 말고

    > 꼭 최소화 버튼을 눌러야 최소화 되는건 아니잖아요

    > 내가 버튼을 따로 만들어서 최소화 시킬수도 있고

    > 윈도우에 떠 있으면 밑에 바에서 클릭해도 최소화 되니깐

    > 그 상황이 일어날때와 다시 윈도우에 나타날때

    > 그때 를 알려고 하면 ...

    > 고수님들 부탁드립니다.

    >

  • Profile
    구창민 2000.11.26 02:38
    조헌철 wrote:

    > 최소화 버튼을 눌렀을때 말고

    > 꼭 최소화 버튼을 눌러야 최소화 되는건 아니잖아요

    > 내가 버튼을 따로 만들어서 최소화 시킬수도 있고

    > 윈도우에 떠 있으면 밑에 바에서 클릭해도 최소화 되니깐

    > 그 상황이 일어날때와 다시 윈도우에 나타날때

    > 그때 를 알려고 하면 ...

    > 고수님들 부탁드립니다.

    >







    헌철님 안녕하세요~



    최소화될때에 발생하는 메세지를 잡고 싶다는 말씀이죠?



    WM_SYSCOMMAND를 가로채시면 됩니다.



    아래 소스 참고하시구요~ 즐거운 프로그래밍 하시길~



    unit Unit1;



    interface



    uses

    SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,

    Forms, Dialogs;



    type

    TForm1 = class(TForm)

    public

    procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}



    procedure TForm1.WMSysCommand;

    begin

    if (Msg.CmdType = SC_MINIMIZE) then

    ShowMessage('폼의 최소화');

    // 만일 최대화때 잡아 챌려면 -- > (Msg.CmdType = SC_MAXIMIZE)

    DefaultHandler(Msg);

    end;



    end.



  • Profile
    조헌철 2000.11.27 19:10
    그 소스를 해봤는데 안되더라구요

    최소화 버튼을 눌러야만 메세지가 뜨고

    다른 때는 메세지가 안나와요

    작업표시줄에 있는걸 누르면 최소화 되잖아요

    그때는 안떠요

    한번 해보시고 연락바랍니다.





    구창민 wrote:

    > 조헌철 wrote:

    > > 최소화 버튼을 눌렀을때 말고

    > > 꼭 최소화 버튼을 눌러야 최소화 되는건 아니잖아요

    > > 내가 버튼을 따로 만들어서 최소화 시킬수도 있고

    > > 윈도우에 떠 있으면 밑에 바에서 클릭해도 최소화 되니깐

    > > 그 상황이 일어날때와 다시 윈도우에 나타날때

    > > 그때 를 알려고 하면 ...

    > > 고수님들 부탁드립니다.

    > >

    >

    >

    >

    > 헌철님 안녕하세요~

    >

    > 최소화될때에 발생하는 메세지를 잡고 싶다는 말씀이죠?

    >

    > WM_SYSCOMMAND를 가로채시면 됩니다.

    >

    > 아래 소스 참고하시구요~ 즐거운 프로그래밍 하시길~

    >

    > unit Unit1;

    >

    > interface

    >

    > uses

    > SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,

    > Forms, Dialogs;

    >

    > type

    > TForm1 = class(TForm)

    > public

    > procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;

    > end;

    >

    > var

    > Form1: TForm1;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.WMSysCommand;

    > begin

    > if (Msg.CmdType = SC_MINIMIZE) then

    > ShowMessage('폼의 최소화');

    > // 만일 최대화때 잡아 챌려면 -- > (Msg.CmdType = SC_MAXIMIZE)

    > DefaultHandler(Msg);

    > end;

    >

    > end.

    >

  • Profile
    소영 2000.11.25 23:16
    조헌철 wrote:

    > 최소화 버튼을 눌렀을때 말고

    > 꼭 최소화 버튼을 눌러야 최소화 되는건 아니잖아요

    > 내가 버튼을 따로 만들어서 최소화 시킬수도 있고

    > 윈도우에 떠 있으면 밑에 바에서 클릭해도 최소화 되니깐

    > 그 상황이 일어날때와 다시 윈도우에 나타날때

    > 그때 를 알려고 하면 ...

    > 고수님들 부탁드립니다.

    >



    구체적으로 무슨 이야기를 하는건진 잘 모르겠지만...



    윈도우 최소화나 최대화를 제어하고 싶다는 소리로 들리네요. 맞나요?



    맞다면..



    form의 properties중...



    WindowState를 보면... 됩니다.



    이걸 wsMinimized로 하면... 최소화..



    머 글케 되는거져? ^^;;;



    도움이 되셨길...

  • Profile
    조헌철 2000.11.26 00:51
    제가 말을 잘못했나본데

    run타임에서 폼이 최소화 되거나 되어있을때를 알려고 합니다.

    그때 다른 코딩을 해야하기 때문에요.

    그런 간단한 프로퍼티를 물은게 아니구요

    폼이 윈도우에 떠 있죠

    그걸 최소화 시키는 방법은 최소화 버튼을 눌러도 되고 한가지가 더 있죠

    윈도우시작 버튼이 있는바 옆에 작업표시중에 있는걸 클릭해도 최소화 되죠

    최소화 될때를 알려고 합니다.

    부탁합니다.





    소영 wrote:

    > 조헌철 wrote:

    > > 최소화 버튼을 눌렀을때 말고

    > > 꼭 최소화 버튼을 눌러야 최소화 되는건 아니잖아요

    > > 내가 버튼을 따로 만들어서 최소화 시킬수도 있고

    > > 윈도우에 떠 있으면 밑에 바에서 클릭해도 최소화 되니깐

    > > 그 상황이 일어날때와 다시 윈도우에 나타날때

    > > 그때 를 알려고 하면 ...

    > > 고수님들 부탁드립니다.

    > >

    >

    > 구체적으로 무슨 이야기를 하는건진 잘 모르겠지만...

    >

    > 윈도우 최소화나 최대화를 제어하고 싶다는 소리로 들리네요. 맞나요?

    >

    > 맞다면..

    >

    > form의 properties중...

    >

    > WindowState를 보면... 됩니다.

    >

    > 이걸 wsMinimized로 하면... 최소화..

    >

    > 머 글케 되는거져? ^^;;;

    >

    > 도움이 되셨길...

  • Profile
    김영우 2000.11.26 10:18
    제가 생각하기엔 위에 구창민님이 써 놓은 글이 맞는 거 같은데요.

    폼의 변화에 따라 발생하는 메세지를 가로채서 그 상황에 하고자하는 처리를

    코딩해주면 되지않을까요?