Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /WinCS/EXEConfirmDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14 - (hide annotations) (download) (as text)
Tue May 25 06:54:38 2010 UTC (13 years, 10 months ago) by sho1get
File MIME type: text/x-c++src
File size: 4202 byte(s)


1 sho1get 11 #include "stdafx.h"
2     #include "WinCS.h"
3     #include "EXEConfirmDlg.h"
4    
5     //////////////////////////////////////////////////////////////////////////
6    
7     IMPLEMENT_DYNAMIC(CEXEConfirmDlg, CDialog)
8    
9     BEGIN_MESSAGE_MAP(CEXEConfirmDlg, CDialog)
10     ON_BN_CLICKED(IDOK, &CEXEConfirmDlg::OnBnClickedOk)
11     ON_WM_CTLCOLOR()
12     ON_CBN_SELCHANGE(IDC_CMB_EXECONFIRM_MODE, &CEXEConfirmDlg::OnCbnSelchangeCmbExeconfirmMode)
13 sho1get 14 ON_BN_CLICKED(IDC_BTN_EXECONFIRM_SIZE, &CEXEConfirmDlg::OnBnClickedBtnExeconfirmSize)
14 sho1get 11 END_MESSAGE_MAP()
15    
16     CEXEConfirmDlg::CEXEConfirmDlg(CWnd* pParent /*=NULL*/)
17     : CDialog(CEXEConfirmDlg::IDD, pParent),
18     m_fSystem(FALSE),
19     m_nSlaves(0),
20     m_nSystemProcessors(0),
21     m_nSingleProcessors(0)
22     {
23     ZeroMemory(&m_CalcSize, sizeof(m_CalcSize));
24     }
25    
26     CEXEConfirmDlg::~CEXEConfirmDlg()
27     {
28     }
29    
30     void CEXEConfirmDlg::DoDataExchange(CDataExchange* pDX)
31     {
32     CDialog::DoDataExchange(pDX);
33     DDX_Control(pDX, IDC_CMB_EXECONFIRM_MODE, m_xCmbMode);
34     DDX_Control(pDX, IDC_EDIT_EXECONFIRM_SLAVES, m_xEditSlaves);
35     DDX_Control(pDX, IDC_EDIT_EXECONFIRM_PLUGIN, m_xEditPlugin);
36     DDX_Control(pDX, IDC_EDIT_EXECONFIRM_PARAMS, m_xEditArgument);
37     DDX_Control(pDX, IDC_EDIT_EXECONFIRM_WIDTH, m_xEditWidth);
38     DDX_Control(pDX, IDC_EDIT_EXECONFIRM_HEIGHT, m_xEditHeight);
39     DDX_Control(pDX, IDC_EDIT_EXECONFIRM_RANGE, m_xEditRange);
40     DDX_Control(pDX, IDC_EDIT_EXECONFIRM_PROCESSORS, m_xEditProcessors);
41     }
42    
43     BOOL CEXEConfirmDlg::OnInitDialog()
44     {
45     CDialog::OnInitDialog();
46    
47     m_xCmbMode.AddString(_T("Single"));
48     m_xCmbMode.AddString(_T("System"));
49     m_xCmbMode.SetCurSel(0);
50    
51     m_xEditSlaves.SetWindowText(DwToString(m_nSlaves));
52     m_xEditProcessors.SetWindowText(DwToString(m_nSingleProcessors));
53     m_xEditPlugin.SetWindowText(m_csModule);
54     m_xEditWidth.SetWindowText(DwToString(m_CalcSize.nWidth));
55     m_xEditHeight.SetWindowText(DwToString(m_CalcSize.nHeight));
56     m_xEditRange.SetWindowText(DwToString(m_CalcSize.nRange));
57     m_xEditRange.EnableWindow(FALSE);
58     m_xEditArgument.SetFocus();
59    
60     return FALSE;
61     }
62    
63     void CEXEConfirmDlg::OnBnClickedOk()
64     {
65     CString cs, csRange;
66     UINT nWidth, nHeight, nRange;
67     BOOL fWidth, fHeight, fRange;
68     int nMode = m_xCmbMode.GetCurSel();
69    
70     if ((nMode == 1) && (m_nSlaves < 1))
71     {
72     cs.LoadString(IDS_WCS_ERROR_EXECUTION_MODE_SELECT);
73     AfxMessageBox(cs);
74     return;
75     }
76    
77     nWidth = GetDlgItemInt(IDC_EDIT_EXECONFIRM_WIDTH, &fWidth, TRUE);
78     nHeight = GetDlgItemInt(IDC_EDIT_EXECONFIRM_HEIGHT, &fHeight, TRUE);
79     nRange = GetDlgItemInt(IDC_EDIT_EXECONFIRM_RANGE, &fRange, TRUE);
80    
81     if (!fWidth || !fHeight || !fRange)
82     {
83     cs.LoadString(IDS_WCS_ERROR_INVALID_VALUE);
84     AfxMessageBox(cs);
85     fWidth ? m_xEditWidth.SetFocus() : (fHeight ? m_xEditHeight.SetFocus() : m_xEditRange.SetFocus());
86     return;
87     }
88    
89     if ((m_nSlaves * nRange) > nWidth || nRange < 1)
90     {
91     csRange.LoadString(IDS_WCS_ERROR_CALCULATION_RANGE);
92     cs.Format(_T("%s\r\nRange: 1 - %d"), csRange, (nWidth / m_nSlaves));
93     AfxMessageBox(cs);
94     m_xEditRange.SetFocus();
95     return;
96     }
97    
98     m_CalcSize.nWidth = nWidth;
99     m_CalcSize.nHeight = nHeight;
100     m_CalcSize.nRange = nRange;
101     m_fSystem = (nMode == 1);
102     m_xEditArgument.GetWindowText(m_csArgument);
103    
104     OnOK();
105     }
106    
107     HBRUSH CEXEConfirmDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
108     {
109     HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
110     int nCtlID = pWnd->GetDlgCtrlID();
111    
112     switch (nCtlID)
113     {
114     case IDC_EDIT_EXECONFIRM_SLAVES:
115     case IDC_EDIT_EXECONFIRM_PLUGIN:
116     case IDC_EDIT_EXECONFIRM_PROCESSORS:
117     hbr = static_cast<HBRUSH>(GetStockObject(WHITE_BRUSH));
118     pDC->SetBkColor(RGB(255, 255, 255));
119     break;
120     }
121    
122     return hbr;
123     }
124    
125     void CEXEConfirmDlg::OnCbnSelchangeCmbExeconfirmMode()
126     {
127     BOOL fSystem = (m_xCmbMode.GetCurSel() == 1);
128     UINT nProcessors = fSystem ? m_nSystemProcessors : m_nSingleProcessors;
129     m_xEditProcessors.SetWindowText(DwToString(nProcessors));
130     m_xEditRange.EnableWindow(fSystem);
131     }
132    
133 sho1get 14 void CEXEConfirmDlg::OnBnClickedBtnExeconfirmSize()
134     {
135     m_xEditWidth.SetWindowText(DwToString(GetSystemMetrics(SM_CXSCREEN)));
136     m_xEditHeight.SetWindowText(DwToString(GetSystemMetrics(SM_CYSCREEN)));
137     }
138    
139 sho1get 11 //////////////////////////////////////////////////////////////////////////

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26