Files
Work/mdiwin/FRMDLG.CPP
2024-08-07 09:16:27 -04:00

75 lines
1.9 KiB
C++
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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;
}