ThreadTest.cpp
上传用户:hvpower
上传日期:2022-07-01
资源大小:2660k
文件大小:4k
源码类别:

进程与线程

开发平台:

Visual C++

  1. // ThreadTest.cpp : Defines the class behaviors for the application.
  2. //
  3. #include "stdafx.h"
  4. #include "ThreadTest.h"
  5. #include "MainFrm.h"
  6. #include "ThreadTestDoc.h"
  7. #include "ThreadTestView.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CThreadTestApp
  15. BEGIN_MESSAGE_MAP(CThreadTestApp, CWinApp)
  16. //{{AFX_MSG_MAP(CThreadTestApp)
  17. ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
  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. // Standard file based document commands
  21. ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
  22. ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
  23. //}}AFX_MSG_MAP
  24. END_MESSAGE_MAP()
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CThreadTestApp construction
  27. CThreadTestApp::CThreadTestApp()
  28. : CWinApp()
  29. {
  30. // TODO: add construction code here,
  31. // Place all significant initialization in InitInstance
  32. }
  33. /////////////////////////////////////////////////////////////////////////////
  34. // The one and only CThreadTestApp object
  35. CThreadTestApp theApp;
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CThreadTestApp initialization
  38. BOOL CThreadTestApp::InitInstance()
  39. {
  40. // Standard initialization
  41. // If you are not using these features and wish to reduce the size
  42. //  of your final executable, you should remove from the following
  43. //  the specific initialization routines you do not need.
  44. // Change the registry key under which our settings are stored.
  45. // You should modify this string to be something appropriate
  46. // such as the name of your company or organization.
  47. SetRegistryKey(_T("Local AppWizard-Generated Applications"));
  48. // Register the application's document templates.  Document templates
  49. //  serve as the connection between documents, frame windows and views.
  50. CSingleDocTemplate* pDocTemplate;
  51. pDocTemplate = new CSingleDocTemplate(
  52. IDR_MAINFRAME,
  53. RUNTIME_CLASS(CThreadTestDoc),
  54. RUNTIME_CLASS(CMainFrame),       // main SDI frame window
  55. RUNTIME_CLASS(CThreadTestView));
  56. AddDocTemplate(pDocTemplate);
  57. // Parse command line for standard shell commands, DDE, file open
  58. CCommandLineInfo cmdInfo;
  59. ParseCommandLine(cmdInfo);
  60. // Dispatch commands specified on the command line
  61. if (!ProcessShellCommand(cmdInfo))
  62. return FALSE;
  63. // The one and only window has been initialized, so show and update it.
  64. m_pMainWnd->ShowWindow(SW_SHOW);
  65. m_pMainWnd->UpdateWindow();
  66. return TRUE;
  67. }
  68. /////////////////////////////////////////////////////////////////////////////
  69. // CAboutDlg dialog used for App About
  70. class CAboutDlg : public CDialog
  71. {
  72. public:
  73. CAboutDlg();
  74. // Dialog Data
  75. //{{AFX_DATA(CAboutDlg)
  76. enum { IDD = IDD_ABOUTBOX };
  77. //}}AFX_DATA
  78. // ClassWizard generated virtual function overrides
  79. //{{AFX_VIRTUAL(CAboutDlg)
  80. protected:
  81. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  82. //}}AFX_VIRTUAL
  83. // Implementation
  84. protected:
  85. //{{AFX_MSG(CAboutDlg)
  86. virtual BOOL OnInitDialog(); // Added for WCE apps
  87. //}}AFX_MSG
  88. DECLARE_MESSAGE_MAP()
  89. };
  90. CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
  91. {
  92. //{{AFX_DATA_INIT(CAboutDlg)
  93. //}}AFX_DATA_INIT
  94. }
  95. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  96. {
  97. CDialog::DoDataExchange(pDX);
  98. //{{AFX_DATA_MAP(CAboutDlg)
  99. //}}AFX_DATA_MAP
  100. }
  101. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  102. //{{AFX_MSG_MAP(CAboutDlg)
  103. // No message handlers
  104. //}}AFX_MSG_MAP
  105. END_MESSAGE_MAP()
  106. // App command to run the dialog
  107. void CThreadTestApp::OnAppAbout()
  108. {
  109. CAboutDlg aboutDlg;
  110. aboutDlg.DoModal();
  111. }
  112. /////////////////////////////////////////////////////////////////////////////
  113. // CThreadTestApp commands
  114. // Added for WCE apps
  115. BOOL CAboutDlg::OnInitDialog() 
  116. {
  117. CDialog::OnInitDialog();
  118. CenterWindow();
  119. return TRUE;  // return TRUE unless you set the focus to a control
  120.               // EXCEPTION: OCX Property Pages should return FALSE
  121. }