l2-unlegits/l2ooghelper/InputStringDlg.cpp
2012-02-01 05:25:08 +00:00

79 lines
1.7 KiB
C++

#include "stdafx.h"
#include "InputStringDlg.h"
#include "Resource.h"
extern HINSTANCE g_hInst;
InputStringDlg::InputStringDlg()
{
title[0] = 0;
question[0] = 0;
text[0] = 0;
}
InputStringDlg::InputStringDlg( LPCTSTR ptitle, LPCTSTR pquestion, LPCTSTR ptext /*= NULL*/ )
{
title[0] = 0;
question[0] = 0;
text[0] = 0;
_tcscpy( title, ptitle );
_tcscpy( question, pquestion );
if( ptext ) _tcscpy( text, ptext );
}
InputStringDlg::~InputStringDlg()
{
title[0] = 0;
question[0] = 0;
text[0] = 0;
}
bool InputStringDlg::run( HWND hWndParent )
{
INT_PTR ret = DialogBoxParam( g_hInst, MAKEINTRESOURCE(IDD_INPUTSTRING), hWndParent, DlgProc,
(LPARAM)this );
if( ret == IDCANCEL ) return false;
return true;
}
INT_PTR CALLBACK InputStringDlg::DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
switch( uMsg )
{
case WM_INITDIALOG:
{
InputStringDlg *pcls = (InputStringDlg *)lParam;
SetWindowLongPtr( hDlg, GWLP_USERDATA, (LONG_PTR)pcls );
SetWindowText( hDlg, pcls->title );
SetDlgItemText( hDlg, IDC_QUESTION, pcls->question );
SetDlgItemText( hDlg, IDC_EDIT1, pcls->text );
} break;
case WM_COMMAND:
{
InputStringDlg *pcls = (InputStringDlg *)GetWindowLongPtr( hDlg, GWLP_USERDATA );
switch( LOWORD( wParam ) )
{
case IDCANCEL:
{
pcls->text[0] = 0;
EndDialog( hDlg, IDCANCEL );
} break;
case IDOK:
{
GetDlgItemText( hDlg, IDC_EDIT1, pcls->text, 255 );
EndDialog( hDlg, IDOK );
} break;
default: return FALSE; break;
}
} break;
default: return FALSE; break;
}
return TRUE;
}
/*public:
TCHAR title[256];
TCHAR question[256];
TCHAR text[256];
};*/