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