PCI ExplorerDlg.cpp
上传用户:zhuqijet
上传日期:2007-01-04
资源大小:138k
文件大小:3k
源码类别:

驱动编程

开发平台:

Visual C++

  1. // PCI ExplorerDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "PCI Explorer.h"
  5. #include "PCI ExplorerDlg.h"
  6. #include "about.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CPCIExplorerDlg dialog
  14. CPCIExplorerDlg::CPCIExplorerDlg(UINT id, CWnd* pParent /*=NULL*/)
  15. : CPropertySheet(id, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CPCIExplorerDlg)
  18. // NOTE: the ClassWizard will add member initialization here
  19. //}}AFX_DATA_INIT
  20. // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
  21. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  22. }
  23. BEGIN_MESSAGE_MAP(CPCIExplorerDlg, CPropertySheet)
  24. //{{AFX_MSG_MAP(CPCIExplorerDlg)
  25. ON_WM_SYSCOMMAND()
  26. ON_WM_DESTROY()
  27. ON_WM_PAINT()
  28. ON_WM_QUERYDRAGICON()
  29. //}}AFX_MSG_MAP
  30. END_MESSAGE_MAP()
  31. /////////////////////////////////////////////////////////////////////////////
  32. // CPCIExplorerDlg message handlers
  33. void CPCIExplorerDlg::DoDataExchange(CDataExchange* pDX)
  34. {
  35. CPropertySheet::DoDataExchange(pDX);
  36. //{{AFX_DATA_MAP(CPCIExplorerDlg)
  37. //}}AFX_DATA_MAP
  38. }
  39. BOOL CPCIExplorerDlg::OnInitDialog()
  40. {
  41. CPropertySheet::OnInitDialog();
  42. // Add "About..." menu item to system menu.
  43. // IDM_ABOUTBOX must be in the system command range.
  44. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
  45. ASSERT(IDM_ABOUTBOX < 0xF000);
  46. CMenu* pSysMenu = GetSystemMenu(FALSE);
  47. CString strAboutMenu;
  48. strAboutMenu.LoadString(IDS_ABOUTBOX);
  49. if (!strAboutMenu.IsEmpty())
  50. {
  51. pSysMenu->AppendMenu(MF_SEPARATOR);
  52. pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  53. }
  54. // Set the icon for this dialog.  The framework does this automatically
  55. //  when the application's main window is not a dialog
  56. SetIcon(m_hIcon, TRUE); // Set big icon
  57. SetIcon(m_hIcon, FALSE); // Set small icon
  58. // TODO: Add extra initialization here
  59. GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE);
  60. GetDlgItem(ID_APPLY_NOW)->ShowWindow(SW_HIDE);
  61. CString s;
  62. s.LoadString(IDS_CLOSE);
  63. SetDlgItemText(IDOK, s);
  64. return TRUE;  // return TRUE  unless you set the focus to a control
  65. }
  66. void CPCIExplorerDlg::OnSysCommand(UINT nID, LPARAM lParam)
  67. {
  68. if ((nID & 0xFFF0) == IDM_ABOUTBOX)
  69. {
  70. CAboutDlg dlgAbout;
  71. dlgAbout.DoModal();
  72. }
  73. else
  74. {
  75. CPropertySheet::OnSysCommand(nID, lParam);
  76. }
  77. }
  78. void CPCIExplorerDlg::OnDestroy()
  79. {
  80. WinHelp(0L, HELP_QUIT);
  81. CPropertySheet::OnDestroy();
  82. }
  83. // If you add a minimize button to your dialog, you will need the code below
  84. //  to draw the icon.  For MFC applications using the document/view model,
  85. //  this is automatically done for you by the framework.
  86. void CPCIExplorerDlg::OnPaint() 
  87. {
  88. if (IsIconic())
  89. {
  90. CPaintDC dc(this); // device context for painting
  91. SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
  92. // Center icon in client rectangle
  93. int cxIcon = GetSystemMetrics(SM_CXICON);
  94. int cyIcon = GetSystemMetrics(SM_CYICON);
  95. CRect rect;
  96. GetClientRect(&rect);
  97. int x = (rect.Width() - cxIcon + 1) / 2;
  98. int y = (rect.Height() - cyIcon + 1) / 2;
  99. // Draw the icon
  100. dc.DrawIcon(x, y, m_hIcon);
  101. }
  102. else
  103. {
  104. CPropertySheet::OnPaint();
  105. }
  106. }
  107. // The system calls this to obtain the cursor to display while the user drags
  108. //  the minimized window.
  109. HCURSOR CPCIExplorerDlg::OnQueryDragIcon()
  110. {
  111. return (HCURSOR) m_hIcon;
  112. }