75 lines
1.9 KiB
C++
75 lines
1.9 KiB
C++
#include <stdio.h>
|
||
#include <mdiwin/windowsx.hpp>
|
||
#include <mdiwin/frmdlg.hpp>
|
||
#include <mdiwin/string.hpp>
|
||
#include <mdiwin/main.hpp>
|
||
#include <mdiwin/mdiwin.h>
|
||
|
||
FrameDialog::FrameDialog(HWND hParent)
|
||
: mhParent(hParent), mFrames(0), mhInstance(Main::processInstance(mhParent))
|
||
{
|
||
}
|
||
|
||
FrameDialog::~FrameDialog()
|
||
{
|
||
}
|
||
|
||
WORD FrameDialog::performFrameDialog(int &numFrames)
|
||
{
|
||
mFrames=numFrames;
|
||
if(::DialogBoxParam(mhInstance,(LPSTR)"Frame",mhParent,(DLGPROC)DWindow::DialogProcedure,(LONG)((DWindow*)this)))numFrames=mFrames;
|
||
return TRUE;
|
||
}
|
||
|
||
int FrameDialog::DlgProc(UINT message,WPARAM wParam,LPARAM lParam)
|
||
{
|
||
switch(message)
|
||
{
|
||
case WM_INITDIALOG :
|
||
{
|
||
String frameString;
|
||
::sprintf(frameString,"%d",mFrames);
|
||
::SetDlgItemText(GetHandle(),FRAME_FRAMES,frameString);
|
||
Main::smhBitmap.associate(IDOK,
|
||
String(STRING_BITMAPOKFOCUSUP,mhInstance),
|
||
String(STRING_BITMAPOKNOFUP,mhInstance),
|
||
String(STRING_BITMAPOKFOCUSDN,mhInstance),OwnerDraw::NOFOCUS);
|
||
Main::smhBitmap.associate(IDCANCEL,
|
||
String(STRING_BITMAPCAFOCUSUP,mhInstance),
|
||
String(STRING_BITMAPCANOFUP,mhInstance),
|
||
String(STRING_BITMAPCAFOCUSDN,mhInstance),OwnerDraw::NOFOCUS);
|
||
}
|
||
return TRUE;
|
||
case WM_DRAWITEM :
|
||
switch(((LPDRAWITEMSTRUCT)lParam)->CtlID)
|
||
{
|
||
case IDOK :
|
||
Main::smhBitmap.handleOwnerButton(IDOK,lParam);
|
||
break;
|
||
case IDCANCEL :
|
||
Main::smhBitmap.handleOwnerButton(IDCANCEL,lParam);
|
||
break;
|
||
}
|
||
return TRUE;
|
||
case WM_COMMAND :
|
||
switch(GET_WM_COMMAND_ID(wParam,lParam))
|
||
{
|
||
case IDOK :
|
||
{
|
||
String frameString;
|
||
::GetDlgItemText(GetHandle(),FRAME_FRAMES,frameString,String::MaxString-1);
|
||
mFrames=::atoi(frameString);
|
||
Main::smhBitmap.freeButton(IDOK);
|
||
::EndDialog(GetHandle(),TRUE);
|
||
}
|
||
return TRUE;
|
||
case IDCANCEL :
|
||
Main::smhBitmap.freeButton(IDCANCEL);
|
||
::EndDialog(GetHandle(),FALSE);
|
||
return TRUE;
|
||
}
|
||
}
|
||
return FALSE;
|
||
}
|
||
|
||
|