Q&A

  • [재질문] 영대님...시스템메뉴요...
Re: Re: [질문] 시스템메뉴를 버튼을 눌렀을때 나오는 거...

김영대 wrote:

> > 제목 그대로...시스템메뉴를 버튼을 눌렀을때에 사용하고 싶거든요...

> > 누구 아시는 분 안계시나요???

> >

> > 지금 이 질문...여러 델파이사이트에다 올렸는데

> > 답변은 커녕...알려주지도 않구...흑흑--;

> > 벌써 몇일이 지났어요...

> >

> > 여기서라도 제발 알려주시길...바래여...

> > 방법이 구지 없지 않을거 같은데...

>

> "시스템메뉴를 버튼을 눌렀을때에 사용하고 싶거든요" 가

> 무슨 뜻인가요?

> 원도우 오른쪽에 있는 쪼그만 버튼을 말씀하시나요?

>

>



영대님 안녕하세요...?



음..시스템메뉴란...폼 아이콘을 누르면 메뉴가 쫘악~ 뜨잖아요...바로 그거요...

메뉴에 화면복귀,이동, 크기변경, 아이콘표시,전체화면표시,닫기메뉴요...헤헤~ ^^



1  COMMENTS
  • Profile
    김영대 1999.12.03 22:55
    copretns wrote:

    >

    > 영대님 안녕하세요...?

    >

    > 음..시스템메뉴란...폼 아이콘을 누르면 메뉴가 쫘악~ 뜨잖아요...바로 그거요...

    > 메뉴에 화면복귀,이동, 크기변경, 아이콘표시,전체화면표시,닫기메뉴요...헤헤~ ^^



    그 시스템 메뉴에 다른 메뉴를 추가하는거라면

    아래 예제를 참고해 보세요...



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    procedure FormCreate(Sender: TObject);

    private

    { Private declarations }

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

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation

    {$R *.DFM}



    const

    SC_MyMenuItem = WM_USER + 1;





    procedure TForm1.FormCreate(Sender: TObject);

    begin

    // system menu 에 구분자(MF_SEPARATOR)를 추가한다

    // GetSystemMenu는 주어진 핸들(윈도우)의 시스템 메뉴를 넘겨준다

    AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, '');



    // system menu 에 menu item을 추가한다

    AppendMenu(GetSystemMenu(Handle, FALSE),

    MF_STRING,

    SC_MyMenuItem, // 추가한 menu item을 클릭할때 발샐할 message 지정

    'new menu');

    end;



    procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);

    begin

    if Msg.CmdType = SC_MyMenuItem then

    ShowMessage('메뉴를 클릭했습니다')

    else

    inherited;

    end;



    end.