BottomView.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. // BottomView.cpp : CBottomView クラス インプリメンテーションファイル
  2. // Date 2006/05/17 Ver. 1.22 Psytec Inc.
  3. #include "stdafx.h"
  4. #include "QR_Image.h"
  5. #include "MainFrm.h"
  6. #include "BottomView.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CBottomView
  14. IMPLEMENT_DYNCREATE(CBottomView, CFormView)
  15. CBottomView::CBottomView()
  16. : CFormView(CBottomView::IDD)
  17. {
  18. //{{AFX_DATA_INIT(CBottomView)
  19. //}}AFX_DATA_INIT
  20. m_bInitControl = FALSE;
  21. }
  22. CBottomView::~CBottomView()
  23. {
  24. }
  25. void CBottomView::DoDataExchange(CDataExchange* pDX)
  26. {
  27. CFormView::DoDataExchange(pDX);
  28. //{{AFX_DATA_MAP(CBottomView)
  29. DDX_Control(pDX, IDC_EDITSOURCEDATA, m_editSoureData);
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(CBottomView, CFormView)
  33. //{{AFX_MSG_MAP(CBottomView)
  34. ON_UPDATE_COMMAND_UI(ID_EDIT_UNDO, OnUpdateEditUndo)
  35. ON_UPDATE_COMMAND_UI(ID_EDIT_CUT, OnUpdateEditCut)
  36. ON_UPDATE_COMMAND_UI(ID_EDIT_COPY, OnUpdateEditCopy)
  37. ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, OnUpdateEditPaste)
  38. ON_COMMAND(ID_EDIT_UNDO, OnEditUndo)
  39. ON_COMMAND(ID_EDIT_CUT, OnEditCut)
  40. ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
  41. ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
  42. ON_COMMAND(ID_EDIT_SELECT_ALL, OnEditSelectAll)
  43. ON_EN_CHANGE(IDC_EDITSOURCEDATA, OnChangeSourceData)
  44. //}}AFX_MSG_MAP
  45. END_MESSAGE_MAP()
  46. /////////////////////////////////////////////////////////////////////////////
  47. // CBottomView 診断
  48. #ifdef _DEBUG
  49. void CBottomView::AssertValid() const
  50. {
  51. CFormView::AssertValid();
  52. }
  53. void CBottomView::Dump(CDumpContext& dc) const
  54. {
  55. CFormView::Dump(dc);
  56. }
  57. #endif //_DEBUG
  58. /////////////////////////////////////////////////////////////////////////////
  59. // CBottomView メッセージ ハンドラ
  60. void CBottomView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
  61. {
  62. if (! m_bInitControl)
  63. {
  64. m_editSoureData.SetWindowText("");
  65. m_bInitControl = TRUE;
  66. }
  67. }
  68. /////////////////////////////////////////////////////////////////////////////
  69. // メニュー項目更新
  70. void CBottomView::OnUpdateEditUndo(CCmdUI* pCmdUI)
  71. {
  72. pCmdUI->Enable(m_editSoureData.CanUndo());
  73. }
  74. void CBottomView::OnUpdateEditCut(CCmdUI* pCmdUI)
  75. {
  76. int nStartChar, nEndChar;
  77. m_editSoureData.GetSel(nStartChar, nEndChar);
  78. pCmdUI->Enable(nStartChar != nEndChar);
  79. }
  80. void CBottomView::OnUpdateEditCopy(CCmdUI* pCmdUI)
  81. {
  82. int nStartChar, nEndChar;
  83. m_editSoureData.GetSel(nStartChar, nEndChar);
  84. pCmdUI->Enable(nStartChar != nEndChar);
  85. }
  86. void CBottomView::OnUpdateEditPaste(CCmdUI* pCmdUI)
  87. {
  88. pCmdUI->Enable(IsClipboardFormatAvailable(CF_TEXT));
  89. }
  90. // 菜单实行
  91. void CBottomView::OnEditUndo() {m_editSoureData.Undo();}
  92. void CBottomView::OnEditCut() {m_editSoureData.Cut();}
  93. void CBottomView::OnEditCopy() {m_editSoureData.Copy();}
  94. void CBottomView::OnEditPaste() {m_editSoureData.Paste();}
  95. void CBottomView::OnEditSelectAll() {m_editSoureData.SetSel(0, -1);}
  96. //输入更新后处理
  97. void CBottomView::OnChangeSourceData()
  98. {
  99. if (m_bInitControl)
  100. ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->ShowImage();
  101. }