Files
interactive/application/sp-console(down)/ConsoleApp(DN)/VolumeInfoDlg.cpp
T
2026-08-07 17:38:18 +09:00

87 lines
2.2 KiB
C++

// VolumeInfoDlg.cpp : 구현 파일입니다.
//
#include "stdafx.h"
#include "ConsoleApp.h"
#include "VolumeInfoDlg.h"
// CVolumeInfoDlg 대화 상자입니다.
IMPLEMENT_DYNAMIC(CVolumeInfoDlg, CDialog)
CVolumeInfoDlg::CVolumeInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CVolumeInfoDlg::IDD, pParent)
, m_sTitle(_T(""))
, m_sType(_T(""))
, m_sUseSpace(_T(""))
, m_sUseSpaceT(_T(""))
, m_sFreeSpace(_T(""))
, m_sFreeSpaceT(_T(""))
, m_sTotalSpace(_T(""))
, m_sTotalSpaceT(_T(""))
{
}
CVolumeInfoDlg::~CVolumeInfoDlg()
{
}
void CVolumeInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_STC_ICON, m_stcIcon);
DDX_Text(pDX, IDC_EDT_TITLE, m_sTitle);
DDX_Text(pDX, IDC_STC_TYPE, m_sType);
DDX_Text(pDX, IDC_STC_USESPACE, m_sUseSpace);
DDX_Text(pDX, IDC_STC_USESPACET, m_sUseSpaceT);
DDX_Text(pDX, IDC_STC_FREESPACE, m_sFreeSpace);
DDX_Text(pDX, IDC_STC_FREESPACET, m_sFreeSpaceT);
DDX_Text(pDX, IDC_STC_TOTALSPACE, m_sTotalSpace);
DDX_Text(pDX, IDC_STC_TOTALSPACET, m_sTotalSpaceT);
}
BEGIN_MESSAGE_MAP(CVolumeInfoDlg, CDialog)
ON_WM_DESTROY()
END_MESSAGE_MAP()
// CVolumeInfoDlg 메시지 처리기입니다.
BOOL CVolumeInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SHFILEINFO shfi;
if (!SHGetFileInfo(m_sType == "폴더" ? "" : "C:\\", FILE_ATTRIBUTE_DIRECTORY, &shfi, sizeof(shfi), SHGFI_USEFILEATTRIBUTES | SHGFI_ICON))
shfi.iIcon = 1;
m_stcIcon.SetIcon(shfi.hIcon);
if (m_sType == "폴더") {
GetDlgItem(IDC_STC_USETITLE)->SetWindowText("크기 : ");
GetDlgItem(IDC_STC_FREETITLE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STC_FREESPACE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STC_FREESPACET)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STC_TOTALTITLE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STC_TOTALSPACE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STC_TOTALSPACET)->ShowWindow(SW_HIDE);
SetWindowText("폴더정보");
}
return TRUE; // return TRUE unless you set the focus to a control
// 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
}
void CVolumeInfoDlg::OnDestroy()
{
CDialog::OnDestroy();
HICON hIcon;
hIcon = m_stcIcon.GetIcon();
if (hIcon)
DestroyIcon(hIcon);
}