
//
// Trust Design LLC : SECS/HSMS Communication library
//
// (c) Copyright Trust Design LLC.  2010-2020.  All rights reserved.
//

#pragma once

#include	"EditList.h"
#include	"TDSSample2Proc.h"

#define		WM_DISPMSSG		(WM_APP+0)

class CTDSSample2Dlg : public CDialog
{
public:
	CTDSSample2Dlg(CWnd* pParent = NULL);	// 標準コンストラクタ
	enum { IDD = IDD_TDSSample2_DIALOG };	// ダイアログ データ

	CTDSSample2Proc	*m_sp;					// TDSSample2Proc
	CEditList	m_cEditList;				// 表示領域のコントロール
	CEdit		m_cEditMssg;				// メッセージ名称のコントロール
	CButton		m_cBtnStart;				// 開始／終了
	CButton		m_cBtnSend1;				// S1F1
	CButton		m_cBtnSend2;				// S2F49/S6F11
	CButton		m_cBtnSend3;				// 任意メッセージ
	CButton		m_cBtnSend4;				// S1F21
	CButton		m_cBtnSendC;				// 連続送信開始／終了
	CButton		m_cPType0;					// 処理タイプ (装置)
	CButton		m_cPType1;					// 処理タイプ (ホスト)
	CStatic		m_cStaStat;					// 接続状態
	CString		m_cStrMssgName;				// メッセージ名称
	CWinThread	*m_Thread;					// 動作状態監視スレッド
	int			m_iPType;					// 処理タイプ (0:装置   1:ホスト)
	int			m_Stop;						// 状態監視スレッド停止指示

	void		AddList(char *str);			// リストに追加

protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV サポート

	HICON m_hIcon;
	virtual BOOL	OnInitDialog();
	virtual BOOL	PreTranslateMessage(MSG *pMsg);
	afx_msg void	OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void	OnPaint();
	afx_msg HCURSOR	OnQueryDragIcon();
	afx_msg void	OnTimer(UINT_PTR nIDEvent);
	afx_msg void	OnBnClickedCancel();
	afx_msg void	OnBnClickedStart();
	afx_msg void	OnBnClickedSend1();
	afx_msg void	OnBnClickedSend2();
	afx_msg void	OnBnClickedSend3();
	afx_msg void	OnBnClickedSend4();
	afx_msg void	OnBnClickedSendC();
	afx_msg void	OnGetMinMaxInfo(MINMAXINFO* lpMMI);
	afx_msg void	OnSize(UINT nType, int cx, int cy);
	DECLARE_MESSAGE_MAP()

private:
	CSize			m_cWinSize;				// ダイアログのClientサイズ

	void			CheckStatusStart();
	void			CheckStatusStop();
};
