SpiderDoc.cpp
上传用户:st5609838
上传日期:2013-03-29
资源大小:66k
文件大小:3k
源码类别:

搜索引擎

开发平台:

Visual C++

  1. // SpiderDoc.cpp : implementation of the CSpiderDoc class
  2. //
  3. #include "stdafx.h"
  4. #include "Spider.h"
  5. #include "SpiderDoc.h"
  6. #include "SpiderView.h"
  7. #include "SpiderList.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CSpiderDoc
  15. IMPLEMENT_DYNCREATE(CSpiderDoc, CDocument)
  16. BEGIN_MESSAGE_MAP(CSpiderDoc, CDocument)
  17. //{{AFX_MSG_MAP(CSpiderDoc)
  18. // NOTE - the ClassWizard will add and remove mapping macros here.
  19. //    DO NOT EDIT what you see in these blocks of generated code!
  20. //}}AFX_MSG_MAP
  21. END_MESSAGE_MAP()
  22. /////////////////////////////////////////////////////////////////////////////
  23. // CSpiderDoc construction/destruction
  24. CSpiderDoc::CSpiderDoc()
  25. {
  26. }
  27. CSpiderDoc::~CSpiderDoc()
  28. {
  29. }
  30. BOOL CSpiderDoc::OnNewDocument()
  31. {
  32. if (!CDocument::OnNewDocument())
  33. return FALSE;
  34. // TODO: add reinitialization code here
  35. // (SDI documents will reuse this document)
  36. return TRUE;
  37. }
  38. /////////////////////////////////////////////////////////////////////////////
  39. // CSpiderDoc serialization
  40. void CSpiderDoc::Serialize(CArchive& ar)
  41. {
  42. // CEditView contains an edit control which handles all serialization
  43. ((CEditView*)m_viewList.GetHead())->SerializeRaw(ar);
  44. }
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CSpiderDoc diagnostics
  47. #ifdef _DEBUG
  48. void CSpiderDoc::AssertValid() const
  49. {
  50. CDocument::AssertValid();
  51. }
  52. void CSpiderDoc::Dump(CDumpContext& dc) const
  53. {
  54. CDocument::Dump(dc);
  55. }
  56. #endif //_DEBUG
  57. /////////////////////////////////////////////////////////////////////////////
  58. // CSpiderDoc commands
  59. CSpiderDoc * CSpiderDoc::GetDoc()
  60. {
  61.       CMDIChildWnd * pChild =
  62.           ((CMDIFrameWnd*)(AfxGetApp()->m_pMainWnd))->MDIGetActive();
  63.  
  64.       if ( !pChild )
  65.           return NULL;
  66.  
  67.       CDocument * pDoc = pChild->GetActiveDocument();
  68.  
  69.       if ( !pDoc )
  70.          return NULL;
  71.  
  72.       // Fail if doc is of wrong kind
  73.       if ( ! pDoc->IsKindOf( RUNTIME_CLASS(CSpiderDoc) ) )
  74.          return NULL;
  75.  
  76.       return (CSpiderDoc *) pDoc;
  77.    }
  78. BOOL CSpiderDoc::ShowURL(LPCTSTR lpString) 
  79. {
  80. CSpiderView* pView = (CSpiderView*)m_viewList.GetHead();
  81. ASSERT_KINDOF(CSpiderView, pView);
  82. pView->GetEditCtrl ().ReplaceSel( lpString, TRUE );
  83. return TRUE;
  84. }
  85. BOOL CSpiderDoc::CheckURLUpdate (LPCTSTR lpString)
  86. {
  87. CString rString;
  88. rString.Format("%s",lpString);
  89. rString +="rn";
  90. CSpiderView* pView = (CSpiderView*)m_viewList.GetHead();
  91. ASSERT_KINDOF(CSpiderView, pView);
  92. pView->GetEditCtrl ().ReplaceSel( rString, TRUE );
  93. return TRUE;
  94. }