GUI バッチ


  Dialog_01



  
#include "stdafx.h"

#include "App_01.h"

App_01 *CurApp;
static UINT nTimer;
static int i;
// *********************************************************
// ダイアログの処理
// *********************************************************
LRESULT CALLBACK Dialog_01(
HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	switch( message ) {
		case WM_INITDIALOG:
			bEnd = false;
			CurApp = new App_01( hDlg );

			Dlg->Disable( IDC_CHECK );
			Dlg->Disable( IDC_CANCEL );

			// 初期フォーカス
			Dlg->EditFocus( IDC_REF );

			return FALSE;

		case WM_TIMER:
			if ( nTimer == (UINT)wParam ) {
				KillTimer( hDlg, nTimer );
				nTimer = 0;

				// タイマーループメイン処理
				for( i = 0; i < 20; i++ ) {
					CurApp->Import();
					if ( CurApp->bCancel ) {
						break;
					}
				}

				// タイマーループの終了地点
				if ( CurApp->bCancel ) {
					CurApp->ImportEnd();
					Dlg->Disable( IDC_CANCEL );
					Dlg->Enable( IDC_REF );
					Dlg->Enable( IDC_CHECK );
					Dlg->Enable( IDCANCEL );
					break;
				}

				// タイマーループ NEXT処理
				nTimer = SetTimer( hDlg, 1, 10, NULL );
			}
			break;

		case WM_COMMAND:
			// 終了
			if( LOWORD(wParam) == IDCANCEL ) {
				// 実行中は終了できない
				if ( !(CurApp->bCancel) ) {
					break;
				}
				bEnd = true;
				delete CurApp;
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}

			// 参照
			if ( LOWORD(wParam) == IDC_REF ) {
				Buff->SetChar( 0, 0 );
				if ( CurApp->Commdlg->OpenFileName( Buff ) ) {
					Dlg->EditSetText( IDC_INFILE, Buff );
					Dlg->Enable( IDC_CHECK );
					Dlg->EditSetText( IDC_INCOUNT, "" );
				}
			}

			// 実行
			if ( LOWORD(wParam) == IDC_CHECK ) {

				// タイマーループの開始処理
				if ( !(CurApp->ImportInit() ) ) {
					break;
				}

				CurApp->bCancel = false;
				Dlg->Disable( IDCANCEL );
				Dlg->Disable( IDC_REF );
				Dlg->Disable( IDC_CHECK );
				Dlg->Enable( IDC_CANCEL );

				// タイマーループの開始地点
				nTimer = SetTimer( hDlg, 1, 1, NULL );
			}

			// キャンセル
			if ( LOWORD(wParam) == IDC_CANCEL ) {
				// タイマーループ中止指令処理
				if ( !(CurApp->bCancel) ) {
					CurApp->bCancel = true;
				}
			}

			break;
	}
	return FALSE;
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ