TextWriteDlg.cpp
上传用户:yklx818
上传日期:2013-04-13
资源大小:459k
文件大小:3k
源码类别:

GIS编程

开发平台:

Visual C++

  1. // TextWriteDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Draw.h"
  5. #include "TextWriteDlg.h"
  6. #include "DrawView.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // TextWriteDlg dialog
  14. TextWriteDlg::TextWriteDlg(CWnd* pParent /*=NULL*/)
  15. : CDialog(TextWriteDlg::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(TextWriteDlg)
  18. m_Text = _T("");
  19. //}}AFX_DATA_INIT
  20. }
  21. TextWriteDlg::TextWriteDlg(CWnd* pParent,CString Text)
  22. : CDialog(TextWriteDlg::IDD, pParent)
  23. {
  24. m_pView=(CDrawView*)pParent;//记录传入的指针
  25. m_Text1=Text;                //标注文本的内容
  26. }
  27. void TextWriteDlg::DoDataExchange(CDataExchange* pDX)
  28. {
  29. CDialog::DoDataExchange(pDX);
  30. //{{AFX_DATA_MAP(TextWriteDlg)
  31. DDX_Text(pDX, IDC_TEXT_EDIT1, m_Text);
  32. DDV_MaxChars(pDX,m_Text,300);
  33. //}}AFX_DATA_MAP
  34. }
  35. BEGIN_MESSAGE_MAP(TextWriteDlg, CDialog)
  36. //{{AFX_MSG_MAP(TextWriteDlg)
  37. ON_EN_CHANGE(IDC_TEXT_EDIT1, OnChangeText)
  38. //}}AFX_MSG_MAP
  39. END_MESSAGE_MAP()
  40. /////////////////////////////////////////////////////////////////////////////
  41. // TextWriteDlg message handlers
  42. void TextWriteDlg::OnOK() 
  43. {
  44. // TODO: Add extra validation here
  45. UpdateData();
  46. m_pView->SendMessage(WM_COMMAND,ID_TEXT_ONOK);
  47. m_Text=m_Text1;
  48. CDialog::OnOK();
  49. }
  50. void TextWriteDlg::OnCancel() 
  51. {
  52. // TODO: Add extra cleanup here
  53. m_pView->SendMessage(WM_COMMAND,ID_TEXT_ONCANCEL);
  54. m_Text="";
  55. CDialog::OnCancel();
  56. }
  57. void TextWriteDlg::OnChangeText() 
  58. {
  59. // TODO: If this is a RICHEDIT control, the control will not
  60. // send this notification unless you override the CDialog::OnInitDialog()
  61. // function and call CRichEditCtrl().SetEventMask()
  62. // with the ENM_CHANGE flag ORed into the mask.
  63. // TODO: Add your control notification handler code here
  64. UpdateData();   //将控制中的内容传递到映射变量
  65. m_pView->SendMessage(WM_COMMAND,ID_TEXT_MESSAGE);
  66. }
  67. BOOL TextWriteDlg::OnInitDialog() 
  68. {
  69. CDialog::OnInitDialog();
  70. // TODO: Add extra initialization here
  71. CEdit* pEdit=(CEdit*)GetDlgItem(IDC_TEXT_EDIT1);
  72. pEdit->SetFocus();  //进入对话框时,将输入焦点设置在编辑框内
  73. return TRUE;  // return TRUE unless you set the focus to a control
  74.               // EXCEPTION: OCX Property Pages should return FALSE
  75. }
  76. BOOL TextWriteDlg::IsOpen()
  77. {
  78. return(m_hWnd?TRUE:FALSE);
  79. }
  80. BOOL TextWriteDlg::IsVisible()
  81. {
  82. if(!IsOpen())
  83. return FALSE;
  84. WINDOWPLACEMENT scrn;
  85. GetWindowPlacement(&scrn);
  86. if(scrn.showCmd==SW_SHOW)
  87. return TRUE;
  88. else 
  89. return FALSE;
  90. }
  91. void TextWriteDlg::Init(CString Text)
  92. {
  93. m_Text=Text;
  94. }