Enter To Tab

  Enter キーを TABキーと同等にする



※ 現在イベントは、リストビューオブジェクトに組み込んであります

  
#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;
}
  










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





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

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ