/*-----------------------------------------------------------------------------
[名称]	OwnerTabPage.cpp
[概要]	タブ内ページダイアログクラスの実装
[備考]	なし
[履歴]	2003-04-22	NC		新規作成(moralog)
		2003-12-02	b031130 (3174)共通設定の画面にてCtrl+PgUp/PgDnで移動不可(dincom)
-----------------------------------------------------------------------------*/

//-----------------------------------------------------------------------------
// インクルード
//-----------------------------------------------------------------------------
#include "stdafx.h"
#include "shitarabian.h"
#include "OwnerTabPage.h"
#include "OwnerTabCtrl.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/*-----------------------------------------------------------------------------
[名称]	コンストラクタ
[機能]	インスタンスの生成。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
COwnerTabPage::COwnerTabPage(
	UINT	nIDTemplate,
	CWnd*	pParent /*=NULL*/
)
: CDialog(nIDTemplate, pParent)
{
	//{{AFX_DATA_INIT(COwnerTabPage)
		// メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
	//}}AFX_DATA_INIT
}


/*-----------------------------------------------------------------------------
[名称]	データ変換
[機能]	CDialog::DoDataExchange() のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void COwnerTabPage::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COwnerTabPage)
		// メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(COwnerTabPage, CDialog)
	//{{AFX_MSG_MAP(COwnerTabPage)
		// メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/*-----------------------------------------------------------------------------
[名称]	メッセージハンドラ
[機能]	特定のキーイベントを殺す。
[戻値]	なし
[備考]	タブ内ページとして使用するため、
		ダイアログを閉じさせてしまうキー操作を殺し、
		タブに制御を移す。
-----------------------------------------------------------------------------*/
BOOL COwnerTabPage::PreTranslateMessage(MSG* pMsg) 
{
	switch( pMsg->message )
	{
	case WM_KEYDOWN:
		{
			switch( pMsg->wParam )
			{
			// 親であるタブコントロールにフォーカスを移す
			case VK_ESCAPE:
			case VK_RETURN:
				GetParent()->SetFocus();
				return( TRUE );
				break;
			// ▼ (3174) BGN 2003.12.02 (dincom)
			// 次のタブへ
			case VK_NEXT:
			{
				if( ::GetAsyncKeyState( VK_CONTROL ) )
				{
					// 親シートが COwnerTabCtrl であればタブを移動する
					COwnerTabCtrl* pParent;
					pParent = dynamic_cast<COwnerTabCtrl*>(GetParent());
					if ( pParent != NULL )
					{
						pParent->ShowNextPage();
					}
				}
			}
				break;
			// 前のタブへ
			case VK_PRIOR:
			{
				if( ::GetAsyncKeyState( VK_CONTROL ) )
				{
					// 親シートが COwnerTabCtrl であればタブを移動する
					COwnerTabCtrl* pParent;
					pParent = dynamic_cast<COwnerTabCtrl*>(GetParent());
					if ( pParent != NULL )
					{
						pParent->ShowPrevPage();
					}
				}
			}
				break;
			// ▲ (3174) END
			default:
				break;
			}
		}
		break;
	default:
		break;
	}

	// キー入力以外のイベント処理
	return CDialog::PreTranslateMessage(pMsg);
}
