ISeeExplorer.cpp
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:5k
源码类别:

图形图象

开发平台:

Visual C++

  1. // ISeeExplorer.cpp : Defines the class behaviors for the application.
  2. //
  3. #include "stdafx.h"
  4. #include "ISeeExplorer.h"
  5. #include "AboutMember.h"
  6. #include "WorkSpace.h"
  7. #include "MainFrm.h"
  8. #include "ISeeExplorerDoc.h"
  9. #include "ISeeExplorerView.h"
  10. #ifdef _DEBUG
  11. #define new DEBUG_NEW
  12. #undef THIS_FILE
  13. static char THIS_FILE[] = __FILE__;
  14. #endif
  15. // 联入图像读写引擎库
  16. #ifdef _DEBUG
  17. #pragma comment(lib, "..\IRWEngine\Debug\IRWEngine.lib")
  18. #pragma comment(lib, "..\shelllib\Debug\shelllib.lib")
  19. #else
  20. #pragma comment(lib, "..\IRWEngine\Release\IRWEngine.lib")
  21. #pragma comment(lib, "..\shelllib\Release\shelllib.lib")
  22. #endif
  23. // 联入DrawDib函数库
  24. #pragma comment(lib,"vfw32.lib")
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CISeeExplorerApp
  27. BEGIN_MESSAGE_MAP(CISeeExplorerApp, CWinApp)
  28. //{{AFX_MSG_MAP(CISeeExplorerApp)
  29. ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
  30. ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
  31. //}}AFX_MSG_MAP
  32. END_MESSAGE_MAP()
  33. /////////////////////////////////////////////////////////////////////////////
  34. // CISeeExplorerApp construction
  35. CISeeExplorerApp::CISeeExplorerApp()
  36. {
  37. // TODO: add construction code here,
  38. // Place all significant initialization in InitInstance
  39. }
  40. /////////////////////////////////////////////////////////////////////////////
  41. // The one and only CISeeExplorerApp object
  42. CISeeExplorerApp theApp;
  43. /////////////////////////////////////////////////////////////////////////////
  44. // CISeeExplorerApp initialization
  45. BOOL CISeeExplorerApp::InitInstance()
  46. {
  47. if (!AfxOleInit())
  48. {
  49. TRACE("Fail to Initialize OLE libraries.n");
  50. return FALSE;
  51. }
  52. AfxEnableControlContainer();
  53. #ifdef _AFXDLL
  54. Enable3dControls(); // Call this when using MFC in a shared DLL
  55. #else
  56. Enable3dControlsStatic(); // Call this when linking to MFC statically
  57. #endif
  58. if (!::LoadString(m_hInstance, IDS_REGTAB_LOCAL, (LPTSTR)_regtab_local, _MAX_PATH))
  59. return FALSE;
  60. SetRegistryKey((LPCTSTR)_regtab_local);
  61. LoadStdProfileSettings();  // Load standard INI file options (including MRU)
  62. if (ISeeBeginIRWEngine())
  63. return FALSE;
  64. // Register the application's document templates.  Document templates
  65. //  serve as the connection between documents, frame windows and views.
  66. CSingleDocTemplate* pDocTemplate;
  67. pDocTemplate = new CSingleDocTemplate(
  68. IDR_MAINFRAME,
  69. RUNTIME_CLASS(CISeeExplorerDoc),
  70. RUNTIME_CLASS(CMainFrame),       // main SDI frame window
  71. RUNTIME_CLASS(CISeeExplorerView));
  72. AddDocTemplate(pDocTemplate);
  73. // Enable DDE Execute open
  74. EnableShellOpen();
  75. RegisterShellFileTypes(TRUE);
  76. // Parse command line for standard shell commands, DDE, file open
  77. CCommandLineInfo cmdInfo;
  78. ParseCommandLine(cmdInfo);
  79. OnFileNew();
  80. // Dispatch commands specified on the command line
  81. //if (!ProcessShellCommand(cmdInfo))
  82. // return FALSE;
  83. // The one and only window has been initialized, so show and update it.
  84. m_pMainWnd->ShowWindow(SW_SHOW);
  85. m_pMainWnd->UpdateWindow();
  86. // Enable drag/drop open
  87. m_pMainWnd->DragAcceptFiles();
  88. return TRUE;
  89. }
  90. /////////////////////////////////////////////////////////////////////////////
  91. // CISeeExplorerApp message handlers
  92. void CISeeExplorerApp::OnFileOpen() 
  93. {
  94. CWinApp::OnFileOpen();
  95. }
  96. BOOL CISeeExplorerApp::OnIdle(LONG lCount) 
  97. {
  98. // TODO: Add your specialized code here and/or call the base class
  99. CMainFrame * pFrame = (CMainFrame *)m_pMainWnd;
  100. return pFrame->m_pDoc->m_FileServer.OnIdle( lCount );
  101. }
  102. int CISeeExplorerApp::ExitInstance() 
  103. {
  104. ISeeEndIRWEngine();
  105. return CWinApp::ExitInstance();
  106. }
  107. /////////////////////////////////////////////////////////////////////////////
  108. // CAboutDlg dialog used for App About
  109. class CAboutDlg : public CDialog
  110. {
  111. public:
  112. CAboutDlg();
  113. CAboutMember m_member;
  114. // Dialog Data
  115. //{{AFX_DATA(CAboutDlg)
  116. enum { IDD = IDD_ABOUTBOX };
  117. //}}AFX_DATA
  118. // ClassWizard generated virtual function overrides
  119. //{{AFX_VIRTUAL(CAboutDlg)
  120. protected:
  121. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  122. //}}AFX_VIRTUAL
  123. // Implementation
  124. protected:
  125. //{{AFX_MSG(CAboutDlg)
  126. virtual BOOL OnInitDialog();
  127. afx_msg void OnPaint();
  128. //}}AFX_MSG
  129. DECLARE_MESSAGE_MAP()
  130. };
  131. CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
  132. {
  133. //{{AFX_DATA_INIT(CAboutDlg)
  134. //}}AFX_DATA_INIT
  135. }
  136. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  137. {
  138. CDialog::DoDataExchange(pDX);
  139. //{{AFX_DATA_MAP(CAboutDlg)
  140. //}}AFX_DATA_MAP
  141. }
  142. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  143. //{{AFX_MSG_MAP(CAboutDlg)
  144. ON_WM_PAINT()
  145. //}}AFX_MSG_MAP
  146. END_MESSAGE_MAP()
  147. // App command to run the dialog
  148. void CISeeExplorerApp::OnAppAbout()
  149. {
  150. CAboutDlg aboutDlg;
  151. aboutDlg.DoModal();
  152. }
  153. BOOL CAboutDlg::OnInitDialog() 
  154. {
  155. CDialog::OnInitDialog();
  156. m_member.SubclassDlgItem(IDC_MEMBER, this);
  157. m_member.InitControl();
  158. return TRUE;  // return TRUE unless you set the focus to a control
  159.               // EXCEPTION: OCX Property Pages should return FALSE
  160. }
  161. void CAboutDlg::OnPaint() 
  162. {
  163. CPaintDC dc(this); // device context for painting
  164. }