00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include "precomp.h"
00028 #include "CCLicenseLocationDlg.h"
00029
00030 #include <windowsx.h>
00031
00038 BOOL CCLicenseLocationDlg::PageProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
00039 {
00040 switch (uMsg)
00041 {
00042 case WM_INITDIALOG:
00043 {
00044
00045 HWND hPage = GetDlgItem(IDC_PLACEHOLDER);
00046 RECT rect;
00047 GetClientRect(hPage, &rect);
00048 MapWindowPoints(hPage, m_hDlg, (LPPOINT)&rect, 2);
00049
00050 m_wndLocation.CreateWnd(_T("Location"), WS_VISIBLE|WS_CHILD, rect, m_hDlg);
00051
00052 m_ptLocation = m_wndLocation.GetLicenseLocation();
00053
00054 UpdateXyTextboxes();
00055 }
00056 return TRUE;
00057
00058 case UM_LICENSEMOVED:
00059
00060 m_ptLocation.x = m_wndLocation.XtoPercent(GET_X_LPARAM(lParam));
00061 m_ptLocation.y = m_wndLocation.YtoPercent(GET_Y_LPARAM(lParam));
00062 UpdateXyTextboxes();
00063 break;
00064
00065 case WM_COMMAND:
00066 switch (HIWORD(wParam))
00067 {
00068 case EN_CHANGE:
00069
00070 switch (LOWORD(wParam))
00071 {
00072 case IDC_X:
00073
00074 if (!m_bSettingEdit)
00075 {
00076
00077 BOOL bTranslate;
00078 UINT uNum = GetDlgItemInt(m_hDlg, IDC_X, &bTranslate, FALSE);
00079 if (!bTranslate)
00080 {
00081
00082 UpdateXyTextboxes();
00083 }
00084 else
00085 {
00086
00087 uNum = min (uNum, 100);
00088 uNum = max (uNum, 0);
00089 m_wndLocation.SetXLocation(uNum);
00090 }
00091 }
00092 return 0;
00093 case IDC_Y:
00094
00095 if (!m_bSettingEdit)
00096 {
00097
00098 BOOL bTranslate;
00099 UINT uNum = GetDlgItemInt(m_hDlg, IDC_Y, &bTranslate, FALSE);
00100 if (!bTranslate)
00101 {
00102
00103 UpdateXyTextboxes();
00104 }
00105 else
00106 {
00107
00108 uNum = min (uNum, 100);
00109 uNum = max (uNum, 0);
00110 m_wndLocation.SetYLocation(uNum);
00111 }
00112 }
00113 return 0;
00114 default:
00115 break;
00116 }
00117 }
00118 break;
00119 }
00120
00121
00122 return CCPrintDlg::PageProc(uMsg, wParam, lParam);
00123 }
00124
00128 void CCLicenseLocationDlg::UpdateXyTextboxes()
00129 {
00130
00131 m_bSettingEdit = true;
00132 TCHAR c[20], cOld[20];
00133
00134
00135
00136 _stprintf_s(c, _S(c), _T("%u"), m_ptLocation.x);
00137 if ((GetDlgItemText(IDC_X, cOld, 20) == 0) || (_tcscmp(c, cOld) != 0))
00138 SetDlgItemText(IDC_X, c);
00139
00140
00141
00142 _stprintf_s(c, _S(c), _T("%u"), m_ptLocation.y);
00143 if ((GetDlgItemText(IDC_Y, cOld, 20) == 0) || (_tcscmp(c, cOld) != 0))
00144 SetDlgItemText(IDC_Y, c);
00145
00146
00147 m_bSettingEdit = false;
00148 }