Re: Re: [질문] 시스템메뉴를 버튼을 눌렀을때 나오는 거...
김영대 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.