RightView.cpp 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. // RightView.cpp : CRightView クラス インプリメンテ�`ションファイル
  2. // Date 2006/05/17 Ver. 1.22 Psytec Inc.
  3. #include "stdafx.h"
  4. #include "QR_Image.h"
  5. #include "QR_Encode.h"
  6. #include "MainFrm.h"
  7. #include "RightView.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CRightView
  15. IMPLEMENT_DYNCREATE(CRightView, CFormView)
  16. CRightView::CRightView()
  17. : CFormView(CRightView::IDD)
  18. {
  19. //{{AFX_DATA_INIT(CRightView)
  20. //}}AFX_DATA_INIT
  21. m_bInitControl = FALSE;
  22. }
  23. CRightView::~CRightView()
  24. {
  25. }
  26. void CRightView::DoDataExchange(CDataExchange* pDX)
  27. {
  28. CFormView::DoDataExchange(pDX);
  29. //{{AFX_DATA_MAP(CRightView)
  30. DDX_Control(pDX, IDC_COMBOLEVEL, m_comboLevel);
  31. DDX_Control(pDX, IDC_COMBOVERSION, m_comboVersion);
  32. DDX_Control(pDX, IDC_STATICVERSION, m_staticVersion);
  33. DDX_Control(pDX, IDC_CHECKAUTOEXTENT, m_checkAutoExtent);
  34. DDX_Control(pDX, IDC_COMBOMASKINGNO, m_comboMaskingNo);
  35. DDX_Control(pDX, IDC_STATICMASKINGNO, m_staticMaskingNo);
  36. DDX_Control(pDX, IDC_EDITMODULESIZE, m_editModuleSize);
  37. DDX_Control(pDX, IDC_SPINMODULESIZE, m_spinModuleSize);
  38. DDX_Control(pDX, IDC_STATICBMPSIZE, m_staticBmpSize);
  39. DDX_Control(pDX, IDC_BUTTONCOPY, m_buttonCopy);
  40. DDX_Control(pDX, IDC_BUTTONSAVE, m_buttonSave);
  41. //}}AFX_DATA_MAP
  42. }
  43. BEGIN_MESSAGE_MAP(CRightView, CFormView)
  44. //{{AFX_MSG_MAP(CRightView)
  45. ON_UPDATE_COMMAND_UI(ID_EDIT_UNDO, OnUpdateEditUndo)
  46. ON_COMMAND(ID_EDIT_UNDO, OnEditUndo)
  47. ON_UPDATE_COMMAND_UI(ID_EDIT_CUT, OnUpdateEditCut)
  48. ON_UPDATE_COMMAND_UI(ID_EDIT_COPY, OnUpdateEditCopy)
  49. ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, OnUpdateEditPaste)
  50. ON_COMMAND(ID_EDIT_CUT, OnEditCut)
  51. ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
  52. ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
  53. ON_COMMAND(ID_EDIT_SELECT_ALL, OnEditSelectAll)
  54. ON_CBN_SELCHANGE(IDC_COMBOLEVEL, OnSelChangeLevel)
  55. ON_CBN_SELCHANGE(IDC_COMBOVERSION, OnSelChangeVersion)
  56. ON_BN_CLICKED(IDC_CHECKAUTOEXTENT, OnAutoExtent)
  57. ON_CBN_SELCHANGE(IDC_COMBOMASKINGNO, OnSelChangeMaskNo)
  58. ON_EN_CHANGE(IDC_EDITMODULESIZE, OnChangeDrawSize)
  59. ON_EN_KILLFOCUS(IDC_EDITMODULESIZE, OnKillFocusDrawSize)
  60. ON_BN_CLICKED(IDC_BUTTONCOPY, OnCopy)
  61. ON_BN_CLICKED(IDC_BUTTONSAVE, OnSave)
  62. //}}AFX_MSG_MAP
  63. END_MESSAGE_MAP()
  64. /////////////////////////////////////////////////////////////////////////////
  65. // CRightView �\僅
  66. #ifdef _DEBUG
  67. void CRightView::AssertValid() const
  68. {
  69. CFormView::AssertValid();
  70. }
  71. void CRightView::Dump(CDumpContext& dc) const
  72. {
  73. CFormView::Dump(dc);
  74. }
  75. #endif //_DEBUG
  76. /////////////////////////////////////////////////////////////////////////////
  77. // CRightView 佚連 侃尖匂
  78. void CRightView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
  79. {
  80. if (! m_bInitControl)
  81. {
  82. m_comboLevel.SetCurSel(1);
  83. m_comboVersion.SetCurSel(0);
  84. m_staticVersion.SetWindowText("");
  85. m_checkAutoExtent.SetCheck(1);
  86. m_checkAutoExtent.EnableWindow(FALSE);
  87. m_comboMaskingNo.SetCurSel(0);
  88. m_staticMaskingNo.SetWindowText("");
  89. m_editModuleSize.SetWindowText("4");
  90. m_spinModuleSize.SetRange(1, 20);
  91. m_staticBmpSize.SetWindowText("");
  92. m_buttonCopy.EnableWindow(FALSE);
  93. m_buttonSave.EnableWindow(FALSE);
  94. m_bInitControl = TRUE;
  95. }
  96. }
  97. /////////////////////////////////////////////////////////////////////////////
  98. // 暇汽�朕厚仟
  99. void CRightView::OnUpdateEditUndo(CCmdUI* pCmdUI)
  100. {
  101. BOOL bEnable = FALSE;
  102. if (GetFocus() != NULL && IsWindow(GetFocus()->m_hWnd) && GetFocus()->GetDlgCtrlID() == IDC_EDITMODULESIZE)
  103. {
  104. if (m_editModuleSize.CanUndo())
  105. {
  106. bEnable = TRUE;
  107. }
  108. }
  109. pCmdUI->Enable(bEnable);
  110. }
  111. void CRightView::OnUpdateEditCut(CCmdUI* pCmdUI)
  112. {
  113. BOOL bEnable = FALSE;
  114. if (GetFocus() != NULL && IsWindow(GetFocus()->m_hWnd) && GetFocus()->GetDlgCtrlID() == IDC_EDITMODULESIZE)
  115. {
  116. int nStartChar, nEndChar;
  117. m_editModuleSize.GetSel(nStartChar, nEndChar);
  118. if (nStartChar != nEndChar)
  119. {
  120. bEnable = TRUE;
  121. }
  122. }
  123. pCmdUI->Enable(bEnable);
  124. }
  125. void CRightView::OnUpdateEditCopy(CCmdUI* pCmdUI)
  126. {
  127. BOOL bEnable = FALSE;
  128. if (GetFocus() != NULL && IsWindow(GetFocus()->m_hWnd) && GetFocus()->GetDlgCtrlID() == IDC_EDITMODULESIZE)
  129. {
  130. int nStartChar, nEndChar;
  131. m_editModuleSize.GetSel(nStartChar, nEndChar);
  132. if (nStartChar != nEndChar)
  133. {
  134. bEnable = TRUE;
  135. }
  136. }
  137. pCmdUI->Enable(bEnable);
  138. }
  139. void CRightView::OnUpdateEditPaste(CCmdUI* pCmdUI)
  140. {
  141. BOOL bEnable = FALSE;
  142. if (GetFocus() != NULL && IsWindow(GetFocus()->m_hWnd) && GetFocus()->GetDlgCtrlID() == IDC_EDITMODULESIZE)
  143. {
  144. bEnable = TRUE;
  145. }
  146. pCmdUI->Enable(bEnable);
  147. }
  148. /////////////////////////////////////////////////////////////////////////////
  149. // 暇汽糞佩
  150. void CRightView::OnEditUndo() {m_editModuleSize.Undo();}
  151. void CRightView::OnEditCut() {m_editModuleSize.Cut();}
  152. void CRightView::OnEditCopy() {m_editModuleSize.Copy();}
  153. void CRightView::OnEditPaste() {m_editModuleSize.Paste();}
  154. void CRightView::OnEditSelectAll() {m_editModuleSize.SetSel(0, -1);}
  155. /////////////////////////////////////////////////////////////////////////////
  156. //補秘厚仟朔侃尖
  157. void CRightView::OnSelChangeLevel()
  158. {
  159. if (m_bInitControl)
  160. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->ShowImage();
  161. }
  162. void CRightView::OnSelChangeVersion()
  163. {
  164. if (m_bInitControl)
  165. {
  166. m_checkAutoExtent.EnableWindow(m_comboVersion.GetCurSel() != 0 && m_comboVersion.GetCurSel() < 40);
  167. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->ShowImage();
  168. }
  169. }
  170. void CRightView::OnAutoExtent()
  171. {
  172. if (m_bInitControl)
  173. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->ShowImage();
  174. }
  175. void CRightView::OnSelChangeMaskNo()
  176. {
  177. if (m_bInitControl)
  178. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->ShowImage();
  179. }
  180. void CRightView::OnChangeDrawSize()
  181. {
  182. if (m_bInitControl)
  183. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->ShowBitmapSize();
  184. }
  185. void CRightView::OnKillFocusDrawSize()
  186. {
  187. if (m_bInitControl)
  188. {
  189. int nDrawSize = GetDlgItemInt(IDC_EDITMODULESIZE);
  190. if (nDrawSize <= 0)
  191. {
  192. nDrawSize = 1;
  193. }
  194. else if (nDrawSize > 20)
  195. {
  196. nDrawSize = 20;
  197. }
  198. SetDlgItemInt(IDC_EDITMODULESIZE, nDrawSize);
  199. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->ShowBitmapSize();
  200. }
  201. }
  202. /////////////////////////////////////////////////////////////////////////////
  203. // 凋綜梓泥侃尖
  204. void CRightView::OnCopy()
  205. {
  206. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->CopyImage();
  207. }
  208. void CRightView::OnSave()
  209. {
  210. if (((CMainFrame*)(AfxGetApp()->m_pMainWnd))->m_strSavePath.IsEmpty())
  211. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->SaveAsImage(); //総贋葎
  212. else
  213. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->SaveImage(); // 固亟
  214. }