ChatClientView.cpp
上传用户:zhenhuadz
上传日期:2007-01-07
资源大小:1511k
文件大小:2k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. // ChatClientView.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "AnyServer.h"
  5. #include "ChatClientView.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. #include "AnyServerDoc.h"
  12. #include "ChatSock.h"
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CChatClientView
  15. #include "ChatView.h"
  16. IMPLEMENT_DYNCREATE(CChatClientView, CEditView)
  17. CChatClientView::CChatClientView()
  18. {
  19. }
  20. CChatClientView::~CChatClientView()
  21. {
  22. }
  23. BEGIN_MESSAGE_MAP(CChatClientView, CEditView)
  24. //{{AFX_MSG_MAP(CChatClientView)
  25. ON_WM_KEYDOWN()
  26. ON_WM_KILLFOCUS()
  27. ON_WM_CTLCOLOR_REFLECT()
  28. //}}AFX_MSG_MAP
  29. END_MESSAGE_MAP()
  30. /////////////////////////////////////////////////////////////////////////////
  31. // CChatClientView drawing
  32. void CChatClientView::OnDraw(CDC* pDC)
  33. {
  34. CAnyServerDoc* pDoc = (CAnyServerDoc*)GetDocument();
  35. }
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CChatClientView diagnostics
  38. #ifdef _DEBUG
  39. void CChatClientView::AssertValid() const
  40. {
  41. CEditView::AssertValid();
  42. }
  43. void CChatClientView::Dump(CDumpContext& dc) const
  44. {
  45. CEditView::Dump(dc);
  46. }
  47. #endif //_DEBUG
  48. /////////////////////////////////////////////////////////////////////////////
  49. // CChatClientView message handlers
  50. void CChatClientView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
  51. {
  52. if (nChar==VK_RETURN)
  53. {
  54. GetWindowText(((CAnyServerDoc*)GetDocument())->m_Client);
  55. TRY
  56. {
  57. *(((CAnyServerDoc*)GetDocument())->m_pConnect->m_pArchiveOut)<<((CAnyServerDoc*)GetDocument())->m_Client;
  58. ((CAnyServerDoc*)GetDocument())->m_pConnect->m_pArchiveOut->Flush();
  59. }
  60. CATCH(CFileException,e)
  61. {
  62. ((CAnyServerDoc*)GetDocument())->m_pConnect->m_pArchiveOut->Abort();
  63. AfxMessageBox("Send Message Error!");
  64. }
  65. END_CATCH
  66. }
  67. CEditView::OnKeyDown(nChar, nRepCnt, nFlags);
  68. }
  69. void CChatClientView::OnInitialUpdate() 
  70. {
  71. CEditView::OnInitialUpdate();
  72. GetEditCtrl().LimitText(4096);
  73. }
  74. void CChatClientView::OnKillFocus(CWnd* pNewWnd) 
  75. {
  76. CEditView::OnKillFocus(pNewWnd);
  77. if (pNewWnd!=NULL&&pNewWnd->IsKindOf(RUNTIME_CLASS(CChatView))) SetFocus();
  78. }
  79. HBRUSH CChatClientView::CtlColor(CDC* pDC, UINT nCtlColor) 
  80. {
  81. HBRUSH hBrush=(HBRUSH)::GetStockObject(WHITE_BRUSH);
  82. // TODO: Return a non-NULL brush if the parent's handler should not be called
  83. return hBrush;
  84. }