1 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\r
9 #include "windowstool.h"
\r
10 #include "compiler_specific_func.h"
\r
11 #include "layoutmanager.h"
\r
14 #include <windowsx.h>
\r
18 class DlgVersion : public LayoutManager
\r
24 DlgVersion(HWND i_hwnd)
\r
25 : LayoutManager(i_hwnd),
\r
31 BOOL wmInitDialog(HWND /* i_focus */, LPARAM i_lParam)
\r
33 TCHAR *mayudVersion = (TCHAR*)i_lParam;
\r
34 setSmallIcon(m_hwnd, IDI_ICON_mayu);
\r
35 setBigIcon(m_hwnd, IDI_ICON_mayu);
\r
37 _TCHAR modulebuf[1024];
\r
38 CHECK_TRUE( GetModuleFileName(g_hInst, modulebuf,
\r
39 NUMBER_OF(modulebuf)) );
\r
42 _sntprintf(buf, NUMBER_OF(buf), loadString(IDS_version).c_str(),
\r
51 loadString(IDS_homepage).c_str(),
\r
52 (_T(LOGNAME) _T("@") + toLower(_T(COMPUTERNAME))).c_str(),
\r
53 _T(__DATE__) _T(" ") _T(__TIME__),
\r
54 getCompilerVersionString().c_str(),
\r
58 Edit_SetText(GetDlgItem(m_hwnd, IDC_EDIT_builtBy), buf);
\r
60 // set layout manager
\r
61 typedef LayoutManager LM;
\r
63 addItem(GetDlgItem(m_hwnd, IDC_STATIC_mayuIcon),
\r
64 LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE,
\r
65 LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE);
\r
66 addItem(GetDlgItem(m_hwnd, IDC_EDIT_builtBy),
\r
67 LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE,
\r
68 LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_BOTTOM_EDGE);
\r
69 addItem(GetDlgItem(m_hwnd, IDC_BUTTON_download),
\r
70 LM::ORIGIN_CENTER, LM::ORIGIN_BOTTOM_EDGE,
\r
71 LM::ORIGIN_CENTER, LM::ORIGIN_BOTTOM_EDGE);
\r
72 addItem(GetDlgItem(m_hwnd, IDOK),
\r
73 LM::ORIGIN_CENTER, LM::ORIGIN_BOTTOM_EDGE,
\r
74 LM::ORIGIN_CENTER, LM::ORIGIN_BOTTOM_EDGE);
\r
75 restrictSmallestSize();
\r
83 CHECK_TRUE( EndDialog(m_hwnd, 0) );
\r
88 BOOL wmCommand(int /* i_notifyCode */, int i_id, HWND /* i_hwndControl */)
\r
94 CHECK_TRUE( EndDialog(m_hwnd, 0) );
\r
97 case IDC_BUTTON_download:
\r
99 ShellExecute(NULL, NULL, loadString(IDS_homepage).c_str(),
\r
100 NULL, NULL, SW_SHOWNORMAL);
\r
101 CHECK_TRUE( EndDialog(m_hwnd, 0) );
\r
112 INT_PTR CALLBACK dlgVersion_dlgProc(
\r
114 BOOL CALLBACK dlgVersion_dlgProc(
\r
116 HWND i_hwnd, UINT i_message, WPARAM i_wParam, LPARAM i_lParam)
\r
119 getUserData(i_hwnd, &wc);
\r
123 case WM_INITDIALOG:
\r
124 wc = setUserData(i_hwnd, new DlgVersion(i_hwnd));
\r
125 return wc->wmInitDialog(reinterpret_cast<HWND>(i_wParam), i_lParam);
\r
131 return wc->wmCommand(HIWORD(i_wParam), LOWORD(i_wParam),
\r
132 reinterpret_cast<HWND>(i_lParam));
\r
134 return wc->wmClose();
\r
139 return wc->defaultWMHandler(i_message, i_wParam, i_lParam);
\r