// BrowseDlg.cpp : implementation file // #include "stdafx.h" #include "demo.h" #include "BrowseDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif extern CDemoApp theApp; ///////////////////////////////////////////////////////////////////////////// // CBrowseDlg dialog CBrowseDlg::CBrowseDlg(CWnd* pParent /*=NULL*/) : CDialog(CBrowseDlg::IDD, pParent) { //{{AFX_DATA_INIT(CBrowseDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT ASSERT(pParent != NULL); m_pMyOwner=pParent; m_nID = CBrowseDlg::IDD; } void CBrowseDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CBrowseDlg) DDX_Control(pDX, IDC_HIDDENLIST, m_HiddenList); DDX_Control(pDX, IDC_LEADIMGLISTCTRL1, m_LEADImageList); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CBrowseDlg, CDialog) //{{AFX_MSG_MAP(CBrowseDlg) ON_WM_SIZE() ON_WM_KEYDOWN() ON_WM_CLOSE() ON_WM_PALETTECHANGED() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CBrowseDlg message handlers void CBrowseDlg::OnCancel() { ((CMainFrame*)m_pMyOwner)->BrowseDone(); DestroyWindow(); } void CBrowseDlg::PostNcDestroy() { delete this; } BOOL CBrowseDlg::OnInitDialog() { CDialog::OnInitDialog(); CRect rcWin; GetClientRect(&rcWin); m_LEADImageList.MoveWindow(&rcWin, TRUE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CBrowseDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); CRect rcWin; GetClientRect(&rcWin); m_LEADImageList.MoveWindow(&rcWin, TRUE); } BOOL CBrowseDlg::Create() { return CDialog::Create(m_nID, m_pMyOwner); } void CBrowseDlg::AddLEADListItem(LPCTSTR pszFilename, long Bitmap) { CString FileTitle; CString Temp; int n; //add data to the list Temp = pszFilename; n = Temp.ReverseFind('\\'); n++; FileTitle = Temp.Right(Temp.GetLength()-n); m_HiddenList.AddString(pszFilename); m_LEADImageList.Insert(Bitmap, FileTitle, 0); m_LEADImageList.EnsureVisible(m_LEADImageList.GetCount() - 1); } void CBrowseDlg::OnClose() { if(m_bBrowsing) ((CMainFrame*)m_pMyOwner)->m_bBrowseQuit = TRUE; else CDialog::OnClose(); } void CBrowseDlg::OnPaletteChanged(CWnd* pFocusWnd) { if(::IsWindow(m_LEADImageList.m_hWnd)) m_LEADImageList.SendMessage(WM_PALETTECHANGED, (WPARAM)pFocusWnd->m_hWnd, 0); } BEGIN_EVENTSINK_MAP(CBrowseDlg, CDialog) //{{AFX_EVENTSINK_MAP(CBrowseDlg) ON_EVENT(CBrowseDlg, IDC_LEADIMGLISTCTRL1, 3 /* Click */, OnClickLeadimglistctrl1, VTS_NONE) ON_EVENT(CBrowseDlg, IDC_LEADIMGLISTCTRL1, 6 /* KeyPress */, OnKeyPressLeadimglistctrl1, VTS_I2) ON_EVENT(CBrowseDlg, IDC_LEADIMGLISTCTRL1, 1 /* ItemSelected */, OnItemSelectedLeadimglistctrl1, VTS_I4) //}}AFX_EVENTSINK_MAP END_EVENTSINK_MAP() void CBrowseDlg::OnClickLeadimglistctrl1() { ((CMainFrame*)m_pMyOwner)->m_bBrowseQuit = TRUE; } void CBrowseDlg::OnKeyPressLeadimglistctrl1(short KeyAscii) { ((CMainFrame*)m_pMyOwner)->m_bBrowseQuit = TRUE; } void CBrowseDlg::OnItemSelectedLeadimglistctrl1(long nIndex) { CString csFile; if(!m_bBrowsing) { m_HiddenList.GetText(nIndex, csFile); theApp.OpenDocumentFile((LPCTSTR)csFile); SetActiveWindow(); } }