/*-----------------------------------------------------------------------------
[名称]	CheckBox.h
[概要]	チェックボックスクラスのヘッダ
[備考]	なし
[履歴]	2003-04-22	NC		新規作成(moralog)
-----------------------------------------------------------------------------*/
#if !defined(AFX_CHECKBOX_H_INCLUDED_)
#define AFX_CHECKBOX_H_INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


/*-----------------------------------------------------------------------------
[名称]	チェックボックスクラス
[用途]	キャプションなしでもフォーカス枠の付くチェックボックス。
[備考]	
	使用方法：
	1.ボタンコントロールを配置
	2.コントロールのプロパティをオーナードローにする
	3.ClassWizardで変数化（コントロールのクラスを本クラスとする）
	4.Dlgクラスに OnDrawItem() をオーバライド
	  該当コントロールの描画要求にDraw()をコールする
-----------------------------------------------------------------------------*/
class CCheckBox : public CButton
{
// コンストラクション
public:
	CCheckBox();

// アトリビュート
public:

// オペレーション
public:
	// 描画
	void Draw();

	// チェック状態設定
	BOOL	GetCheck(){ return(m_bCheck); };

	// チェック状態取得
	void	SetCheck( BOOL bCheck ){ m_bCheck = bCheck; };

protected:
	BOOL		m_bCheck;				// チェック状態 [-](TRUE:チェック、FALSE:非チェック)
				// プッシュボタンの場合、stateとしてCheck状態をもつことができないので
				// メンバとして自前でCheck状態を保持する。

// オーバーライド
	// ClassWizard は仮想関数のオーバーライドを生成します。
	//{{AFX_VIRTUAL(CCheckBox)
	public:
	//}}AFX_VIRTUAL

// インプリメンテーション
public:
	virtual ~CCheckBox();

	// 生成されたメッセージ マップ関数
protected:
	//{{AFX_MSG(CCheckBox)
	afx_msg void OnPaint();
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。

#endif // !defined(AFX_CHECKBOX_H_INCLUDED_)
