|
#include "stdafx.h"
#include "App_01.h"
static App_01 *CurApp;
static LboxListview *Lview;
// *********************************************************
// ダイアログの処理
// *********************************************************
LRESULT CALLBACK Dialog_01(
HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message ) {
case WM_INITDIALOG:
Lview = new LboxListview(
hDlg,
LBOX_LISTVIEW_EDITABLE |
LBOX_LISTVIEW_CREATE
);
bEnd = false;
CurApp = new App_01( hDlg );
CurApp->BodyDisable();
// 初期フォーカス
Dlg->EditFocus( IDC_KEY );
return FALSE;
case LBOX_RETURN:
// Enter キーをタブ扱いしないコントロール
if ( Dlg->GetHandle( IDC_CHECK ) == (HWND)wParam ) {
break;
}
// ミスオペレーションの回避策
if ( Dlg->GetHandle( IDC_SKUBUN ) == (HWND)wParam ) {
Dlg->EditFocus( IDC_NAME );
break;
}
Tool.TabKey();
break;
case WM_COMMAND:
// 終了
if( LOWORD(wParam) == IDCANCEL ) {
bEnd = true;
delete CurApp;
delete Lview;
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
// ABOUT
if( LOWORD(wParam) == IDM_ABOUT ) {
DialogBox(
hInst,
(LPCTSTR)IDD_ABOUTBOX,
hDlg,
(DLGPROC)About
);
}
// アプリケーションの終了
if( LOWORD(wParam) == IDM_EXIT ) {
Dlg->SendMsg(
WM_COMMAND,
MAKEWPARAM( IDCANCEL, 0 ),
0
);
}
// 確認
if ( LOWORD(wParam) == IDC_CHECK ) {
if ( CurApp->HeadCheck() ) {
CurApp->HeadDisable();
CurApp->BodyEnable();
Dlg->EditFocus( IDC_NAME );
}
}
// キャンセル
if ( LOWORD(wParam) == IDC_CANCEL ) {
GetMessageString( "0101" );
if ( Dlg->MsgYesNo( Message ) ) {
CurApp->BodyClear() ;
CurApp->HeadEnable();
CurApp->BodyDisable();
Dlg->EditFocus( IDC_KEY );
}
}
// 更新
if ( LOWORD(wParam) == IDC_UPDATE ) {
if ( CurApp->BodyCheck() ) {
GetMessageString( "0102" );
if ( Dlg->MsgOkCancel( Message ) ) {
if ( CurApp->DataInsert() ) {
CurApp->HeadClear();
CurApp->BodyClear();
CurApp->HeadEnable();
CurApp->BodyDisable();
Dlg->EditFocus( IDC_KEY );
GetMessageString( "5001" );
Dlg->StatusSetText(Message);
}
}
}
}
// ステータスバーのクリア
if ( LOWORD(wParam) == IDC_KEY ) {
if ( bEnd ) {
break;
}
if ( HIWORD(wParam) == EN_KILLFOCUS ) {
Dlg->StatusSetText("");
}
}
break;
}
return FALSE;
}
| |