42 lines
1.1 KiB
C++
Raw Permalink Normal View History

2015-05-29 01:47:26 +09:00
#include <windows.h>
#include "CDialogBase.h"
// <20>_<EFBFBD>C<EFBFBD>A<EFBFBD><41><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EC90AC><EFBFBD><EFBFBD>
INT_PTR CDialogBase::DoModal(HINSTANCE hInstance, int iDialogId)
{
return DialogBoxParam(hInstance, MAKEINTRESOURCE(iDialogId), NULL, &DispatchDialogProc, (LPARAM)this);
}
HWND CDialogBase::GetDialogHWND(void)
{
return hDialog;
}
// <20>_<EFBFBD>C<EFBFBD>A<EFBFBD><41><EFBFBD>O<EFBFBD>v<EFBFBD><76><EFBFBD>V<EFBFBD>[<5B>W<EFBFBD><57>(<28>`<60><><EFBFBD><EFBFBD>)
INT_PTR CALLBACK CDialogBase::DispatchDialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
// <20>_<EFBFBD>C<EFBFBD>A<EFBFBD><41><EFBFBD>O<EFBFBD><4F> 32 <20>r<EFBFBD>b<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>Ɋi<C98A>[<5B><><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD>
// this <20>|<7C>C<EFBFBD><43><EFBFBD>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E882BE>
CDialogBase *pcDialog = (CDialogBase *)GetWindowLongPtr(hWnd, GWLP_USERDATA);
if(pcDialog == NULL)
{
if(uMsg == WM_INITDIALOG || uMsg == WM_CREATE)
{
// <20><><EFBFBD>O<EFBFBD><4F> DialogBoxParam() <20><><EFBFBD>Ă΂<C482><CE82>Ă<EFBFBD><C482>
// this <20>|<7C>C<EFBFBD><43><EFBFBD>^<5E><><EFBFBD>_<EFBFBD>C<EFBFBD>A<EFBFBD><41><EFBFBD>O<EFBFBD>̃<EFBFBD><CC83>[<5B>U<EFBFBD>[<5B>̈<EFBFBD><CC88>ɓ<EFBFBD><C993><EFBFBD><EFBFBD><EFBFBD>
pcDialog = (CDialogBase*)lParam;
SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)pcDialog);
pcDialog->hDialog = hWnd;
return pcDialog->DialogProc(hWnd, uMsg, wParam, lParam);
}
return FALSE;
}
// <20><><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD>֐<EFBFBD><D690>̃_<CC83>C<EFBFBD>A<EFBFBD><41><EFBFBD>O<EFBFBD>v<EFBFBD><76><EFBFBD>V<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD><EFBFBD><EFBFBD>Ăяo<D18F><6F>
return pcDialog->DialogProc(hWnd, uMsg, wParam, lParam);
}