95 lines
2.1 KiB
C++
95 lines
2.1 KiB
C++
// UNCListDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "URLDemo.h"
|
|
#include "UNCListDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CUNCListDlg dialog
|
|
|
|
|
|
CUNCListDlg::CUNCListDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CUNCListDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CUNCListDlg)
|
|
// NOTE: the ClassWizard will add member initialization here
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CUNCListDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CUNCListDlg)
|
|
DDX_Control(pDX, IDCANCEL, m_wndClose);
|
|
DDX_Control(pDX, IDC_LIST, m_wndList);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CUNCListDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CUNCListDlg)
|
|
ON_WM_TIMER()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CUNCListDlg message handlers
|
|
|
|
void CUNCListDlg::SetSearchUnc(COXIteratorUNC iterUNC, BOOL bFiles, BOOL bDirs,
|
|
BOOL bRecursive, BOOL bDepthFirst)
|
|
{
|
|
m_iterUNC = iterUNC;
|
|
m_bFiles = bFiles;
|
|
m_bDirs = bDirs;
|
|
m_bRecursive = bRecursive;
|
|
m_bDepthFirst = bDepthFirst;
|
|
}
|
|
|
|
BOOL CUNCListDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
// ... Set a timer so that the list will be filled whan this window is
|
|
// fully initialized and visisble
|
|
SetTimer(0, 10, NULL);
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CUNCListDlg::OnTimer(UINT nIDEvent)
|
|
{
|
|
if (!IsWindowVisible())
|
|
// ... Only start the list when we are visible,
|
|
// otherwise wait for the next timer event.
|
|
return;
|
|
|
|
// ... Kill the running timer
|
|
KillTimer(0);
|
|
|
|
m_wndClose.EnableWindow(FALSE);
|
|
|
|
int nTopIndex = 0;
|
|
m_iterUNC.Start(m_bFiles, m_bDirs, m_bRecursive, m_bDepthFirst);
|
|
while(!m_iterUNC.IsEmpty())
|
|
{
|
|
m_wndList.AddString(m_iterUNC);
|
|
m_wndList.SetTopIndex(nTopIndex++);
|
|
m_wndList.RedrawWindow(NULL, NULL, RDW_UPDATENOW);
|
|
m_iterUNC++;
|
|
}
|
|
m_iterUNC.End();
|
|
|
|
m_wndClose.EnableWindow(TRUE);
|
|
|
|
CDialog::OnTimer(nIDEvent);
|
|
}
|