Zi 字媒體
2017-07-25T20:27:27+00:00
[VC(Visual C++) ]-66_多重建立資料夾
本篇分享66_多重建立資料夾範例,有興趣的(C/P)同好,歡迎來http://yfdisk.com/file/jashliao/cb724f32/索取,因為我不會上傳檔案分享哈哈 ^ ^。
主要程式碼
001 // CreateMulDirDlg.cpp : implementation file
002 //
003
004 #include "stdafx.h"
005 #include "CreateMulDir.h"
006 #include "CreateMulDirDlg.h"
007
008 #ifdef _DEBUG
009 #definenew DEBUG_NEW
010 #undef THIS_FILE
011 staticchar THIS_FILE[] = __FILE__;
012 #endif
013
014 /////////////////////////////////////////////////////////////////////////////
015 // CAboutDlg dialog used for App About
016
017 class CAboutDlg : public CDialog
018 {
019 public:
020 CAboutDlg();
021
022 // Dialog Data
023 //{{AFX_DATA(CAboutDlg)
024 enum { IDD = IDD_ABOUTBOX };
025 //}}AFX_DATA
026
027 // ClassWizard generated virtual function overrides
028 //{{AFX_VIRTUAL(CAboutDlg)
029 protected:
030 virtualvoid DoDataExchange(CDataExchange* pDX); // DDX/DDV support
031 //}}AFX_VIRTUAL
032
033 // Implementation
034 protected:
035 //{{AFX_MSG(CAboutDlg)
036 //}}AFX_MSG
037 DECLARE_MESSAGE_MAP()
038 };
039
040 CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
041 {
042 //{{AFX_DATA_INIT(CAboutDlg)
043 //}}AFX_DATA_INIT
044 }
045
046 void CAboutDlg::DoDataExchange(CDataExchange* pDX)
047 {
048 CDialog::DoDataExchange(pDX);
049 //{{AFX_DATA_MAP(CAboutDlg)
050 //}}AFX_DATA_MAP
051 }
052
053 BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
054 //{{AFX_MSG_MAP(CAboutDlg)
055 // No message handlers
056 //}}AFX_MSG_MAP
057 END_MESSAGE_MAP()
058
059 /////////////////////////////////////////////////////////////////////////////
060 // CCreateMulDirDlg dialog
061
062 CCreateMulDirDlg::CCreateMulDirDlg(CWnd* pParent /*=NULL*/)
063 : CDialog(CCreateMulDirDlg::IDD, pParent)
064 {
065 //{{AFX_DATA_INIT(CCreateMulDirDlg)
066 // NOTE: the ClassWizard will add member initialization here
067 //}}AFX_DATA_INIT
068 // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
069 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
070 }
071
072 void CCreateMulDirDlg::DoDataExchange(CDataExchange* pDX)
073 {
074 CDialog::DoDataExchange(pDX);
075 //{{AFX_DATA_MAP(CCreateMulDirDlg)
076 // NOTE: the ClassWizard will add DDX and DDV calls here
077 //}}AFX_DATA_MAP
078 }
079
080 BEGIN_MESSAGE_MAP(CCreateMulDirDlg, CDialog)
081 //{{AFX_MSG_MAP(CCreateMulDirDlg)
082 ON_WM_SYSCOMMAND()
083 ON_WM_PAINT()
084 ON_WM_QUERYDRAGICON()
085 ON_BN_CLICKED(IDC_BTCREATE, OnCreate)
086 //}}AFX_MSG_MAP
087 END_MESSAGE_MAP()
088
089 /////////////////////////////////////////////////////////////////////////////
090 // CCreateMulDirDlg message handlers
091
092 BOOL CCreateMulDirDlg::OnInitDialog()
093 {
094 CDialog::OnInitDialog();
095
096 // Add "About..." menu item to system menu.
097
098 // IDM_ABOUTBOX must be in the system command range.
099 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
100 ASSERT(IDM_ABOUTBOX < 0xF000);
101
102 CMenu* pSysMenu = GetSystemMenu(FALSE);
103 if (pSysMenu != NULL)
104 {
105 CString strAboutMenu;
106 strAboutMenu.LoadString(IDS_ABOUTBOX);
107 if (!strAboutMenu.IsEmpty())
108 {
109 pSysMenu->AppendMenu(MF_SEPARATOR);
110 pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
111 }
112 }
113
114 // Set the icon for this dialog. The framework does this automatically
115 // when the application's main window is not a dialog
116 SetIcon(m_hIcon, TRUE); // Set big icon
117 SetIcon(m_hIcon, FALSE); // Set small icon
118
119 // TODO: Add extra initialization here
120
121 return TRUE; // return TRUE unless you set the focus to a control
122 }
123
124 void CCreateMulDirDlg::OnSysCommand(UINT nID, LPARAM lParam)
125 {
126 if ((nID & 0xFFF0) == IDM_ABOUTBOX)
127 {
128 CAboutDlg dlgAbout;
129 dlgAbout.DoModal();
130 }
131 else
132 {
133 CDialog::OnSysCommand(nID, lParam);
134 }
135 }
136
137 // If you add a minimize button to your dialog, you will need the code below
138 // to draw the icon. For MFC applications using the document/view model,
139 // this is automatically done for you by the framework.
140
141 void CCreateMulDirDlg::OnPaint()
142 {
143 if (IsIconic())
144 {
145 CPaintDC dc(this); // device context for painting
146
147 SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
148
149 // Center icon in client rectangle
150 int cxIcon = GetSystemMetrics(SM_CXICON);
151 int cyIcon = GetSystemMetrics(SM_CYICON);
152 CRect rect;
153 GetClientRect(&rect);
154 int x = (rect.Width() - cxIcon + 1) / 2;
155 int y = (rect.Height() - cyIcon + 1) / 2;
156
157 // Draw the icon
158 dc.DrawIcon(x, y, m_hIcon);
159 }
160 else
161 {
162 CDialog::OnPaint();
163 }
164 }
165
166 // The system calls this to obtain the cursor to display while the user drags
167 // the minimized window.
168 HCURSOR CCreateMulDirDlg::OnQueryDragIcon()
169 {
170 return (HCURSOR) m_hIcon;
171 }
172
173 void CCreateMulDirDlg::OnCreate()
174 {
175 CStringArray strarray;
176 CString strpath,strtmp;
177 GetDlgItem(IDC_EDPATH)->GetWindowText(strpath);
178
179 for(int i=0;i
180 {
181 if(strpath.GetAt(i)!='\\')
182 strtmp+=strpath.GetAt(i);
183 else
184 {
185 strarray.Add(strtmp);
186 strtmp+="\\";
187 }
188 if(i==strpath.GetLength()-1)
189 strarray.Add(strtmp);
190 }
191 CFileFind findfile;
192 for(int j=0;j
193 {
194 strtmp=strarray.GetAt(j);
195 CreateDirectory(strtmp,NULL);
196 /*
197 if(!CreateDirectory(strtmp,NULL))
198 {
199 DWORD ret=::GetLastError();
200 CString strerr;
201 strerr.Format("%d",ret);
202 MessageBox(strerr,"渣昫測鎢",MB_OK);
203 }*/
204 }
205
206 }
寫了
5860316篇文章,獲得
23313次喜歡