ありがとうございます。

----- Original Message -----
From: "NCS INOUE" <i...@nippon-control-system.co.jp>
To: <m...@ml.acty-net.ne.jp>
Sent: Friday, November 26, 2004 8:17 PM
Subject: [mfc 50157] Re: 最小化ボタン
Subject: [mfc 50157] Re: 最小化ボタン


> しげです。
>
> > ダイアログボックスのシステムメニューの最小化ボタンを表示(有効に)して、
> > ×ボタンを非表示(または無効)にする方法はありますでしょうか?
>
> ダイアログプロパティで、
>   システムメニュー を ON
>   最小化ボタン を ON
>
> 閉じるボタンを無効にしたいところで、
>   CMenu* pSysMenu = GetSystemMenu( FALSE );
>   pSysMenu->EnableMenuItem( SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );
>
> ですかね。
> ただし、仕様によりますが、最小化ボタンと元に戻すボタンの相互遷移
> についても考慮が必要かもしれませんね。
>
> ON_WM_SYSCOMMAND を実装して、
>
>     switch(nID & 0xFFF0)
>     {
>         case SC_MINIMIZE:
>         {
>             CMenu* pSysMenu = GetSystemMenu( FALSE );
>             pSysMenu->EnableMenuItem(SC_MINIMIZE,
MF_BYCOMMAND|MF_GRAYED );
>             pSysMenu->EnableMenuItem(SC_RESTORE,
MF_BYCOMMAND|MF_ENABLED );
>             break;
>         }
>         case SC_RESTORE:
>         {
>             CMenu* pSysMenu = GetSystemMenu( FALSE );
>             pSysMenu->EnableMenuItem(SC_RESTORE, MF_BYCOMMAND|MF_GRAYED );
>             pSysMenu->EnableMenuItem(SC_MINIMIZE,
MF_BYCOMMAND|MF_ENABLED );
>             break;
>         }
>         default:break;
>     }
>     CDialog::OnSysCommand(nID, lParam);
>
> っちゅう感じです。
>