mfc_file_manage_3 - 8BitsCoding/RobotMentor GitHub Wiki
void CMFCApplication1Dlg::OnBnClickedRCreateDirBtn()
{
inputNameDlg ins_dlg;
if (IDOK == ins_dlg.DoModal()) {
CString path;
GetDlgItemText(IDC_R_PATH_EDIT, path);
CreateDirectory(path+ins_dlg.GetName(), NULL);
DirToList(&m_right_list, path);
}
}
void CMFCApplication1Dlg::OnBnClickedLToRCopyBtn()
{
int index = m_left_list.GetCurSel();
if (index != LB_ERR) {
CString name, src_path, dest_path;
m_left_list.GetText(index, name);
if (name[0] == '[') {
// 디렉터리는 복사하지 않음
MessageBox(L"디렉토리는 복사할 수 없습니다.", L"복사 실패", MB_ICONSTOP|MB_OK);
}
else {
GetDlgItemText(IDC_L_PATH_EDIT, src_path);
GetDlgItemText(IDC_R_PATH_EDIT, dest_path);
CopyFile(src_path +L"\\" + name, dest_path + L"\\" + name, FALSE);
// 마지막 FALSE는 덮어쓰겠는지? FALSE일경우 덮어쓴다.
DirToList(&m_right_list, dest_path);
}
}
}
void CMFCApplication1Dlg::OnBnClickedOpenDirBtn()
{
CString path;
GetDlgItemText(IDC_R_PATH_EDIT, path);
ShellExecute(NULL, L"open", L"explorer.exe", path, path, SW_SHOW);
}
void CMFCApplication1Dlg::OnBnClickedRDleBtn()
{
int index = m_right_list.GetCurSel();
if (index != LB_ERR) {
CString name;
m_right_list.GetText(index, name);
if (name[0] == '[') {
// 디렉터리 삭제 안함
MessageBox(L"디렉토리는 삭제할 수 없습니다.", L"삭제 실패", MB_ICONSTOP | MB_OK);
}
else {
if (IDOK == MessageBox(name, L"아래의 파일을 삭제하시겠습니까?", MB_ICONQUESTION | MB_OKCANCEL))
{
CString path;
GetDlgItemText(IDC_R_PATH_EDIT, path);
DeleteFile(path + name);
DirToList(&m_right_list, path);
}
}
}
}