SysinfoDlg.cpp
上传用户:wymy58
上传日期:2007-01-07
资源大小:2086k
文件大小:3k
源码类别:

DirextX编程

开发平台:

Visual C++

  1. // SysinfoDlg.cpp : Defines the class behaviors for the application.
  2. #include "stdafx.h"
  3. #include "SysinfoDlg.h"
  4. #include "DXSysInfoDialog.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. const bool g_bFullScreen
  11. #ifdef _DEBUG
  12. = false; // true;
  13. #else
  14. = true; // false;
  15. #endif // _DEBUG
  16. const DWORD g_dwWidth = 640; // 800; // 1024;
  17. const DWORD g_dwHeight = 480; // 600; // 768;
  18. const DWORD g_dwBPP = 8; // 16; // 24; // 32;
  19. CSysinfoDlgApp::CSysinfoDlgApp(void)
  20. {
  21. SetFullScreen(g_bFullScreen);
  22. SetPackFileName(_T("Data"), _T("Data"));
  23. // Called during initial app startup, this function
  24. // performs all the permanent initialization.
  25. m_pDDDevice = NULL;
  26. m_pRenderSurface = NULL;
  27. // add your permanent init code here !
  28. m_pSysInfoDlg = NULL;
  29. }
  30. // Called before the app exits, this function gives the app
  31. // the chance to cleanup after itself.
  32. CSysinfoDlgApp::~CSysinfoDlgApp()
  33. {
  34. // add your cleaup code here !
  35. }
  36. bool CSysinfoDlgApp::GetDXInitSettings(void)
  37. {
  38. if (m_pDirectSound != NULL)
  39. {
  40. if (m_pDirectSound->SelectDSDriver(0) == false)
  41. return  false;
  42. }
  43. if (m_pDirectMusic != NULL)
  44. {
  45. if (m_pDirectMusic->SelectDefaultDMusPort() == false)
  46. return  false;
  47. }
  48. if (m_pDirectDraw->SelectDDDevice(0) == false)
  49. return  false;
  50. if (GetFirstDDDevice()->SelectDisplayMode(
  51. IsFullScreen(), g_dwWidth, g_dwHeight, g_dwBPP) == false)
  52. return  false;
  53. return  true;
  54. }
  55. // Called during device intialization, this code checks the device
  56. // for some minimum set of capabilities, Initialize scene objects.
  57. bool CSysinfoDlgApp::InitDXObjects(void)
  58. {
  59. m_pDDDevice = GetFirstDDDevice();
  60. m_pRenderSurface = m_pDDDevice->GetRenderSurface();
  61. // add your init code here !
  62. m_pSysInfoDlg = new  CDXSysInfoDialog;
  63. if (m_pSysInfoDlg->Create(_T("Setup.bmp"),
  64. m_pDDDevice, _T("sysinfo.dlg"),
  65. m_pPackFileManager, m_pGUIManager, 0) == false)
  66. return  false;
  67. m_pSysInfoDlg->Popup();
  68. return  true;
  69. }
  70. // Called when the app is exitting, or the device is being changed,
  71. // this function deletes any device dependant objects.
  72. bool CSysinfoDlgApp::DestroyDXObjects(void)
  73. {
  74. // add your destroy code here !
  75. if (m_pSysInfoDlg != NULL)
  76. {
  77. delete  m_pSysInfoDlg;
  78. m_pSysInfoDlg = NULL;
  79. }
  80. m_pRenderSurface = NULL;
  81. m_pDDDevice = NULL;
  82. return  CDirectXApp::DestroyDXObjects();
  83. }
  84. // Called once per frame, the call is the entry point for
  85. // animating the scene. This function sets up render states,
  86. // clears the viewport, and renders the scene.
  87. bool CSysinfoDlgApp::UpdateFrame(void)
  88. {
  89. // add your code here !
  90. m_pRenderSurface->Fill(0);
  91. return  CDirectXApp::UpdateFrame();
  92. }
  93. // ---- add your functions ! ----
  94. // ----
  95. #if _MSC_VER >= 1200 && _MSC_VER < 1400
  96. #ifdef _DEBUG
  97. #pragma comment(lib, "DXGuideD_VC6.lib")
  98. #else
  99. #pragma comment(lib, "DXGuide_VC6.lib")
  100. #endif // _DEBUG
  101. #endif // _MSC_VER
  102. #if _MSC_VER >= 1000 && _MSC_VER < 1200
  103. #ifdef _DEBUG
  104. #pragma comment(lib, "DXGuideD_VC5.lib")
  105. #else
  106. #pragma comment(lib, "DXGuide_VC5.lib")
  107. #endif // _DEBUG
  108. #endif // _MSC_VER
  109. BEGIN_MESSAGE_MAP(CSysinfoDlgApp, CDirectXApp)
  110. //{{AFX_MSG_MAP(CSysinfoDlgApp)
  111. //}}AFX_MSG_MAP
  112. END_MESSAGE_MAP()
  113. CSysinfoDlgApp theApp;