|
// maindlg.h
class CMainDlg : public CDialogImpl<CMainDlg>, public CCustomDraw<CMainDlg>
{
public:
enum { IDD = IDD_MAINDLG };
CListViewCtrl
m_list_stripe;
// ¸Þ¼¼Áö ¸Ê
BEGIN_MSG_MAP_EX(CMainDlg)
MSG_WM_INITDIALOG(OnInitDialog)
COMMAND_ID_HANDLER_EX(IDOK,
OnOK)
COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
CHAIN_MSG_MAP(CCustomDraw<CMainDlg>) // CCustomDrawŬ·¡½º¿¡
üÀÎ
END_MSG_MAP()
DWORD OnPrePaint(int nID,
LPNMCUSTOMDRAW lpnmcd){
if(lpnmcd->hdr.idFrom == IDC_LIST_STRIPE)
return CDRF_NOTIFYITEMDRAW;
else
return CDRF_DODEFAULT;
}
DWORD OnItemPrePaint(int nID,
LPNMCUSTOMDRAW lpnmcd){
if(lpnmcd->hdr.idFrom == IDC_LIST_STRIPE){
LPNMLVCUSTOMDRAW lpnmlv =
(LPNMLVCUSTOMDRAW)lpnmcd;
if(lpnmcd->dwItemSpec % 2){
lpnmlv->clrText
= RGB(255, 255, 255);
lpnmlv->clrTextBk
= RGB(128, 128, 128);
}
}
return CDRF_DODEFAULT;
}
LRESULT OnInitDialog(HWND hWnd,
LPARAM lParam){
// ½ºÅ©¸°ÀÇ Áß¾Ó¿¡ ¹èÄ¡
CenterWindow();
// Å« ¾ÆÀÌÄÜ ¼³Á¤
HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME,
LR_DEFAULTCOLOR,
::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
SetIcon(hIcon, TRUE);
// ÀÛÀº ¾ÆÀÌÄÜ ¼³Á¤
HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME,
LR_DEFAULTCOLOR,
::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
SetIcon(hIconSmall, FALSE);
// ÄÁÆ®·Ñ ¼³Á¤
m_list_stripe = GetDlgItem(IDC_LIST_STRIPE);
m_list_stripe.SetExtendedListViewStyle(LVS_EX_INFOTIP |
LVS_EX_FULLROWSELECT);
CRect rcList;
m_list_stripe.GetWindowRect(rcList);
int nScrollWidth
= GetSystemMetrics(SM_CXVSCROLL);
int n3DEdge = GetSystemMetrics(SM_CXEDGE);
m_list_stripe.InsertColumn(0,
_T("À̸§"), LVCFMT_LEFT, 190, -1);
m_list_stripe.InsertColumn(1,
_T("Á¾·ù"), LVCFMT_LEFT,
rcList.Width() - 190 - nScrollWidth
- n3DEdge * 2, -1);
CFindFile find;
if(find.FindFile()){
do{
if(!find.IsDots()){
int nIndex = m_list_stripe.GetItemCount();
m_list_stripe.AddItem(nIndex,
0, find.GetFileName());
m_list_stripe.AddItem(nIndex,
1,
find.IsDirectory() ? _T("Æú´õ") :
_T("ÆÄÀÏ"));
}
}while(find.FindNextFile());
}
return TRUE;
}
void OnOK(UINT uNotifyCode, int nID, HWND hWndCtl){
EndDialog(nID);
}
void OnCancel(UINT uNotifyCode, int nID, HWND hWndCtl){
EndDialog(nID);
}
};
|