MyListBoxView.cpp
上传用户:tjfeida
上传日期:2013-03-10
资源大小:1917k
文件大小:4k
源码类别:

Ftp客户端

开发平台:

Visual C++

  1. // MyListBoxView.cpp : implementation file
  2. //
  3. /*********************************************
  4. **该文件是属于WolfFTP工程中的。如果有什么问题
  5. **请联系
  6. **         tablejiang@21cn.com
  7. **或者访问
  8. **         http://wolfftp.51.net
  9. **以得到最新的支持。
  10. *********************************************/
  11. #include "stdafx.h"
  12. #include "MyListBoxView.h"
  13. #ifdef _DEBUG
  14. #define new DEBUG_NEW
  15. #undef THIS_FILE
  16. static char THIS_FILE[] = __FILE__;
  17. #endif
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CMyListBoxView
  20. IMPLEMENT_DYNCREATE(CMyInfoView, CView)
  21. CMyInfoView::CMyInfoView()
  22. {
  23. }
  24. CMyInfoView::~CMyInfoView()
  25. {
  26. }
  27. BEGIN_MESSAGE_MAP(CMyInfoView, CView)
  28. //{{AFX_MSG_MAP(CMyListBoxView)
  29. ON_WM_SIZE()
  30. ON_WM_LBUTTONDOWN()
  31. ON_WM_CREATE()
  32. //}}AFX_MSG_MAP
  33. END_MESSAGE_MAP()
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CMyListBoxView drawing
  36. void CMyInfoView::OnDraw(CDC* pDC)
  37. {
  38. CQuickFTPDoc* pDoc = GetDocument();
  39. // TODO: add draw code here
  40. }
  41. /////////////////////////////////////////////////////////////////////////////
  42. // CMyListBoxView diagnostics
  43. #ifdef _DEBUG
  44. void CMyInfoView::AssertValid() const
  45. {
  46. CView::AssertValid();
  47. }
  48. void CMyInfoView::Dump(CDumpContext& dc) const
  49. {
  50. CView::Dump(dc);
  51. }
  52. #endif //_DEBUG
  53. CQuickFTPDoc* CMyInfoView::GetDocument() // non-debug version is inline
  54. {
  55. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CQuickFTPDoc)));
  56. return (CQuickFTPDoc*)m_pDocument;
  57. }
  58. /////////////////////////////////////////////////////////////////////////////
  59. // CMyListBoxView message handlers
  60. void CMyInfoView::OnInitialUpdate() 
  61. {
  62. CView::OnInitialUpdate();
  63. // TODO: Add your specialized code here and/or call the base class
  64. RECT rect ;
  65. ::GetClientRect( this->m_hWnd ,  &rect ) ;
  66. m_Edit.Create( WS_CHILD | WS_VISIBLE |WS_VSCROLL | WS_TABSTOP |ES_MULTILINE |ES_LEFT
  67. | ES_READONLY | ES_AUTOVSCROLL, rect , this , 0x1113 ) ;
  68. CHARFORMAT cf;
  69. memset( &cf , 0 , sizeof( cf ) ) ;
  70. cf.cbSize = sizeof( cf ) ;
  71. cf.dwMask = CFM_COLOR | CFM_SIZE ;
  72. cf.crTextColor = RGB( 0 , 0 , 0 ) ;
  73. cf.yHeight = 18 ;
  74. m_Edit.SetDefaultCharFormat( cf ) ;
  75. long nLimit = m_Edit.GetLimitText( ) ;
  76. m_Edit.LimitText( 999999999 ) ;
  77. nLimit = m_Edit.GetLimitText( ) ;
  78. }
  79. void CMyInfoView::OnSize(UINT nType, int cx, int cy) 
  80. {
  81. CView::OnSize(nType, cx, cy);
  82. // TODO: Add your message handler code here
  83. if( m_Edit.m_hWnd != NULL )
  84. {
  85. RECT rect ;
  86. ::GetClientRect( this->m_hWnd ,  &rect ) ;
  87. m_Edit.MoveWindow( &rect , TRUE ) ;
  88. }
  89. }
  90. BOOL CMyInfoView::InsertString(LPCTSTR string)
  91. {
  92. m_Edit.AddString( string ) ;
  93. return TRUE ;
  94. }
  95. void CMyInfoView::OnLButtonDown(UINT nFlags, CPoint point) 
  96. {
  97. // TODO: Add your message handler code here and/or call default
  98. CView::OnLButtonDown(nFlags, point);
  99. }
  100. LRESULT CMyInfoView::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
  101. {
  102. // TODO: Add your specialized code here and/or call the base class
  103. char *szReplyString ;
  104. switch( message )
  105. {
  106. case FTP_SERVER_REPLY_MSG:
  107. //display server reply string .
  108. m_Edit.SetTextColor( TEXT_COLOR_REPLY ) ;
  109. szReplyString = (char*)lParam ;
  110. InsertString( szReplyString ) ;
  111. delete szReplyString ;
  112. szReplyString = NULL ;
  113. break ;
  114. case FTP_SEND_COMMAND_MSG:
  115. //display send command .
  116. m_Edit.SetTextColor( TEXT_COLOR_COMMAND ) ;
  117. szReplyString = (char*)lParam ;
  118. InsertString( szReplyString ) ;
  119. delete szReplyString ;
  120. szReplyString = NULL ;
  121. break ;
  122. case FTP_STATUS_MSG :
  123. m_Edit.SetTextColor( TEXT_COLOR_STATUS ) ;
  124. szReplyString = (char*)lParam ;
  125. InsertString( szReplyString ) ;
  126. delete szReplyString ;
  127. break ;
  128. default :
  129. break ;
  130. }
  131. return CView::DefWindowProc(message, wParam, lParam);
  132. }