C++ Builder Tips


Restoreの前にイベントを処理するには


WM_SYSCOMMANDメッセージを捕捉します。
void __fastcall TForm1::OnMessage(tagMSG &Msg, bool &Handled)
{
 if(Msg.message == WM_SYSCOMMAND)
 {
     int ScMsg = Msg.wParam & 0xFFF0;
     if(IsIconic(Application->Handle))
     {
         if((ScMsg == SC_MAXIMIZE || ScMsg == SC_ZOOM || ScMsg == SC_RESTORE))
         {
             if(Application->MessageBox("復元しますか?", NULL, MB_YESNO) != IDNO)
             {
                 Handled = true; //復元メッセージをキャンセル
             }
         }
     }
 }
}



目次に戻る
Copyright(c) 2008 WoodenSoldier Software