|
#include "stdafx.h"
#include "App_51.h"
static App_51 *CurApp;
static LboxListview *Lview;
static App_51_Interface *a51i;
// *********************************************************
// ダイアログの処理
// *********************************************************
LRESULT CALLBACK Dialog_51(
HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message ) {
case WM_INITDIALOG:
a51i = (App_51_Interface *)lParam;
bEnd = false;
Lview = new LboxListview(
GetDlgItem( hDlg, IDC_LIST ),
LBOX_LISTVIEW_EDITABLE
);
Lview->Grid( );
Lview->SetFont( 0, 9, false );
CurApp = new App_51( hDlg, Lview );
// 初期フォーカス
Dlg->EditFocus( IDC_COND );
Dlg->MoveWindow(
Tool.DesktopWidth() - Dlg->Width(),
0
);
return FALSE;
case WM_NOTIFY:
if ( Lview != NULL ) {
Lview->Notify( hDlg, lParam );
}
break;
case LBOX_LV_DBLCLK:
Lview->GetColumnText( 0, Column );
a51i->Dlg->EditSetText(
a51i->nIdCode,
Column
);
Lview->GetColumnText( 1, Column );
a51i->Dlg->EditSetText(
a51i->nIdName,
Column
);
bEnd = true;
delete Lview;
delete CurApp;
EndDialog(hDlg, LOWORD(wParam));
break;
case LBOX_RETURN:
// Enter キーをタブ扱いしないコントロール
if ( Dlg->GetHandle( IDC_CHECK ) == (HWND)wParam ) {
break;
}
Tool.TabKey();
break;
case WM_COMMAND:
// 終了
if( LOWORD(wParam) == IDCANCEL ) {
bEnd = true;
delete Lview;
delete CurApp;
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
// 検索
if ( LOWORD(wParam) == IDC_CHECK ) {
CurApp->DataRequest();
}
// クリア
if ( LOWORD(wParam) == IDC_CLEAR ) {
Dlg->EditSetText( IDC_COND, "" );
Lview->Reset();
}
// ステータスバーのクリア
if ( LOWORD(wParam) == IDC_COND ) {
if ( bEnd ) {
break;
}
if ( HIWORD(wParam) == EN_KILLFOCUS ) {
Dlg->StatusSetText("");
}
}
break;
}
return FALSE;
}
| |