multiscreen.cpp
上传用户:qdhuadeli
上传日期:2007-02-07
资源大小:978k
文件大小:2k
源码类别:

多显示器编程

开发平台:

Visual C++

  1. // multiscreen.cpp : Defines the class behaviors for the application.
  2. //
  3. #include "stdafx.h"
  4. #include "multiscreen.h"
  5. #include "multiscreenDlg.h"
  6. #include "SaverWindow.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CMultiscreenApp
  14. BEGIN_MESSAGE_MAP(CMultiscreenApp, CWinApp)
  15. //{{AFX_MSG_MAP(CMultiscreenApp)
  16. // NOTE - the ClassWizard will add and remove mapping macros here.
  17. //    DO NOT EDIT what you see in these blocks of generated code!
  18. //}}AFX_MSG
  19. ON_COMMAND(ID_HELP, CWinApp::OnHelp)
  20. END_MESSAGE_MAP()
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CMultiscreenApp construction
  23. CMultiscreenApp::CMultiscreenApp()
  24. {
  25. // TODO: add construction code here,
  26. // Place all significant initialization in InitInstance
  27. }
  28. /////////////////////////////////////////////////////////////////////////////
  29. // The one and only CMultiscreenApp object
  30. CMultiscreenApp theApp;
  31. /////////////////////////////////////////////////////////////////////////////
  32. // CMultiscreenApp initialization
  33. BOOL CMultiscreenApp::InitInstance()
  34. {
  35. // if (!AfxSocketInit())
  36. // {
  37. // AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
  38. // return FALSE;
  39. // }
  40. #ifdef _AFXDLL
  41. Enable3dControls(); // Call this when using MFC in a shared DLL
  42. #else
  43. Enable3dControlsStatic(); // Call this when linking to MFC statically
  44. #endif
  45. CString csCmdLine = m_lpCmdLine;
  46. csCmdLine.MakeLower();
  47. // Get the command line flags
  48. int nFwdSlash = csCmdLine.FindOneOf( "/-" );
  49. HWND hwndParent = NULL;
  50. #ifdef _DEBUG
  51. TCHAR cFlag = 's';
  52. #else
  53. TCHAR cFlag = 'C';
  54. #endif
  55. if ( nFwdSlash > -1 && csCmdLine.GetLength() > nFwdSlash+1 )
  56. cFlag = csCmdLine[nFwdSlash+1];
  57. if ( cFlag == 'p' && csCmdLine.GetLength() > nFwdSlash + 3 )
  58. hwndParent = (HWND)atoi( &((LPCTSTR)csCmdLine)[nFwdSlash+2] );
  59. if ( tolower(cFlag) == 'c' )
  60. {
  61. // Run configuration dialog
  62. CWnd* pParent = (cFlag=='c')?CWnd::GetActiveWindow():NULL;
  63. CMultiscreenDlg dlg( pParent );
  64. m_pMainWnd = &dlg;
  65. int nResponse = dlg.DoModal();
  66. if (nResponse == IDOK)
  67. {
  68. }
  69. else if (nResponse == IDCANCEL)
  70. {
  71. }
  72. }
  73. else
  74. {
  75. // Run screen saver either desktop or preview
  76. CSaverWindow* pSaverWindow = new CSaverWindow;
  77. if ( pSaverWindow->Create(hwndParent) )
  78. {
  79. m_pMainWnd = pSaverWindow;
  80. return TRUE;
  81. }
  82. }
  83. return FALSE;
  84. }