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

DirextX编程

开发平台:

Visual C++

  1. // SelDrvDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "PFM.h"
  5. #include "SelDrvDlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CSelDrvDlg dialog
  13. CSelDrvDlg::CSelDrvDlg(CWnd* pParent /*=NULL*/)
  14. : CDialog(CSelDrvDlg::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CSelDrvDlg)
  17. // NOTE: the ClassWizard will add member initialization here
  18. //}}AFX_DATA_INIT
  19. m_strPath = "";
  20. }
  21. void CSelDrvDlg::DoDataExchange(CDataExchange* pDX)
  22. {
  23. CDialog::DoDataExchange(pDX);
  24. //{{AFX_DATA_MAP(CSelDrvDlg)
  25. DDX_Control(pDX, IDC_CDCOMBO, m_combCd);
  26. //}}AFX_DATA_MAP
  27. }
  28. BEGIN_MESSAGE_MAP(CSelDrvDlg, CDialog)
  29. //{{AFX_MSG_MAP(CSelDrvDlg)
  30. ON_CBN_SELCHANGE(IDC_CDCOMBO, OnSelchangeCdcombo)
  31. //}}AFX_MSG_MAP
  32. END_MESSAGE_MAP()
  33. /////////////////////////////////////////////////////////////////////////////
  34. // CSelDrvDlg message handlers
  35. void CSelDrvDlg::OnSelchangeCdcombo() 
  36. {
  37. // TODO: Add your control notification handler code here
  38. int nItem = m_combCd.GetCurSel();
  39. if (nItem == CB_ERR)
  40. m_combCd.GetWindowText(m_strPath);
  41. else
  42. m_combCd.GetLBText(nItem, m_strPath);
  43. CDialog::OnOK();
  44. }
  45. BOOL CSelDrvDlg::OnInitDialog() 
  46. {
  47. CDialog::OnInitDialog();
  48. // TODO: Add extra initialization here
  49. CString root;
  50. for (char cDrv='A'; cDrv<='Z'; cDrv++)
  51. {
  52. root = cDrv;
  53. root += ":\";
  54. switch(GetDriveType(root))
  55. {
  56. case DRIVE_REMOVABLE:
  57. case DRIVE_FIXED:
  58. case DRIVE_REMOTE:
  59. case DRIVE_CDROM:
  60. case DRIVE_RAMDISK:
  61. m_combCd.AddString(root.Left(2));
  62. break;
  63. }
  64. }
  65. m_combCd.SetCurSel(m_combCd.FindString(-1, m_strPath.Left(2)));
  66. return TRUE;  // return TRUE unless you set the focus to a control
  67.               // EXCEPTION: OCX Property Pages should return FALSE
  68. }
  69. void CSelDrvDlg::OnOK() 
  70. {
  71. // TODO: Add extra validation here
  72. m_combCd.GetWindowText(m_strPath);
  73. CDialog::OnOK();
  74. }