// VCppSampleDlg.cpp : インプリメンテーション ファイル
//

#include "stdafx.h"
#include "VCppSample.h"
#include "VCppSampleDlg.h"

#include "..\\..\\ForVC\\WelHtCom.h"

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

/////////////////////////////////////////////////////////////////////////////
// CVCppSampleDlg ダイアログ

CVCppSampleDlg::CVCppSampleDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CVCppSampleDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CVCppSampleDlg)
		// メモ: この位置に ClassWizard によってメンバの初期化が追加されます。
	//}}AFX_DATA_INIT
	// メモ: LoadIcon は Win32 の DestroyIcon のサブシーケンスを要求しません。
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CVCppSampleDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CVCppSampleDlg)
		// メモ: この場所には ClassWizard によって DDX と DDV の呼び出しが追加されます。
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CVCppSampleDlg, CDialog)
	//{{AFX_MSG_MAP(CVCppSampleDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CVCppSampleDlg メッセージ ハンドラ

BOOL CVCppSampleDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// このダイアログ用のアイコンを設定します。フレームワークはアプリケーションのメイン
	// ウィンドウがダイアログでない時は自動的に設定しません。
	SetIcon(m_hIcon, TRUE);			// 大きいアイコンを設定
	SetIcon(m_hIcon, FALSE);		// 小さいアイコンを設定
	
	// TODO: 特別な初期化を行う時はこの場所に追加してください。
	
	return TRUE;  // TRUE を返すとコントロールに設定したフォーカスは失われません。
}

// もしダイアログボックスに最小化ボタンを追加するならば、アイコンを描画する
// コードを以下に記述する必要があります。MFC アプリケーションは document/view
// モデルを使っているので、この処理はフレームワークにより自動的に処理されます。

void CVCppSampleDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // 描画用のデバイス コンテキスト

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// クライアントの矩形領域内の中央
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// アイコンを描画します。
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// システムは、ユーザーが最小化ウィンドウをドラッグしている間、
// カーソルを表示するためにここを呼び出します。
HCURSOR CVCppSampleDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CVCppSampleDlg::OnButton1() 
{
	WelHTComTMPL	htset1 ;
	
	//	すべての機能を使用可能にする
	WelHTComSetEnable( &htset1 ) ;
	WelHTComFunc( &htset1 ) ;
}

void CVCppSampleDlg::OnButton2() 
{
	WelHTComTMPL	htset2 ;
	
	//	すべての機能を使用可能に設定する
	WelHTComSetEnable( &htset2 ) ;

	//	CSVのDOWNLOADに限定する
	//　(その他は自由に設定可能）
	htset2.direct_perm   = HT_DOWNLOAD ;
	htset2.filetype_perm = HT_FT_CSV ;

	// 初期値の設定（無くても可）
	htset2.httype   = HT_PHL1000 ;
	strcpy( htset2.filename, "Download.csv" ) ;

	WelHTComFunc( &htset2 ) ;
}

void CVCppSampleDlg::OnButton3() 
{
	WelHTComTMPL	htset3 ;

	//	すべての機能を不可にする
	WelHTComSetDisable( &htset3 ) ;

	//	機種・ポートは選択できるように設定
	htset3.httype_perm   = (HandyTermENum)HT_PERMALL ;
	htset3.comset_perm.port = (PortNoENum)HT_PERMALL ;

	// CSVのUPLOADに限定する
	htset3.direct   = HT_UPLOAD ;
	htset3.filetype = HT_FT_CSV ;

	//　ファイル名が指定できるようにする
	htset3.filename_edit = HT_EDIT_ENABLE ;

	WelHTComFunc( &htset3 ) ;
}

void CVCppSampleDlg::OnOK() 
{
	// TODO: この位置にその他の検証用のコードを追加してください
	
	CDialog::OnOK();
}

void CVCppSampleDlg::OnCancel() 
{
	// TODO: この位置に特別な後処理を追加してください。
	
	CDialog::OnCancel();
}
