mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
2.8 KiB
122 lines
2.8 KiB
// This is a part of the Microsoft Foundation Classes C++ library.
|
|
// Copyright (C) 1992-1995 Microsoft Corporation
|
|
// All rights reserved.
|
|
//
|
|
// This source code is only intended as a supplement to the
|
|
// Microsoft Foundation Classes Reference and related
|
|
// electronic documentation provided with the library.
|
|
// See these sources for detailed information regarding the
|
|
// Microsoft Foundation Classes product.
|
|
|
|
#include "stdafx.h"
|
|
|
|
#ifdef AFX_CORE4_SEG
|
|
#pragma code_seg(AFX_CORE4_SEG)
|
|
#endif
|
|
|
|
#ifdef _DEBUG
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
#define new DEBUG_NEW
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CListView
|
|
|
|
BEGIN_MESSAGE_MAP(CListView, CCtrlView)
|
|
//{{AFX_MSG_MAP(CListView)
|
|
ON_WM_NCDESTROY()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CListView::PreCreateWindow(CREATESTRUCT& cs)
|
|
{
|
|
return CCtrlView::PreCreateWindow(cs);
|
|
}
|
|
|
|
void CListView::DrawItem(LPDRAWITEMSTRUCT)
|
|
{
|
|
ASSERT(FALSE);
|
|
}
|
|
|
|
BOOL CListView::OnChildNotify(UINT message, WPARAM wParam, LPARAM lParam,
|
|
LRESULT* pResult)
|
|
{
|
|
if (message != WM_DRAWITEM)
|
|
return CCtrlView::OnChildNotify(message, wParam, lParam, pResult);
|
|
|
|
ASSERT(pResult == NULL); // no return value expected
|
|
UNUSED(pResult); // unused in release builds
|
|
|
|
DrawItem((LPDRAWITEMSTRUCT)lParam);
|
|
return TRUE;
|
|
}
|
|
|
|
void CListView::RemoveImageList(int nImageList)
|
|
{
|
|
HIMAGELIST h = (HIMAGELIST)SendMessage(LVM_GETIMAGELIST,
|
|
(WPARAM)nImageList);
|
|
if (CImageList::FromHandlePermanent(h) != NULL)
|
|
SendMessage(LVM_SETIMAGELIST, (WPARAM)nImageList, NULL);
|
|
}
|
|
|
|
void CListView::OnNcDestroy()
|
|
{
|
|
RemoveImageList(LVSIL_NORMAL);
|
|
RemoveImageList(LVSIL_SMALL);
|
|
RemoveImageList(LVSIL_STATE);
|
|
|
|
CCtrlView::OnNcDestroy();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTreeView
|
|
|
|
BEGIN_MESSAGE_MAP(CTreeView, CCtrlView)
|
|
//{{AFX_MSG_MAP(CTreeView)
|
|
ON_WM_DESTROY()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CTreeView::PreCreateWindow(CREATESTRUCT& cs)
|
|
{
|
|
return CCtrlView::PreCreateWindow(cs);
|
|
}
|
|
|
|
void CTreeView::RemoveImageList(int nImageList)
|
|
{
|
|
HIMAGELIST h = (HIMAGELIST)SendMessage(TVM_GETIMAGELIST,
|
|
(WPARAM)nImageList);
|
|
if (CImageList::FromHandlePermanent(h) != NULL)
|
|
SendMessage(TVM_SETIMAGELIST, (WPARAM)nImageList, NULL);
|
|
}
|
|
|
|
void CTreeView::OnDestroy()
|
|
{
|
|
RemoveImageList(LVSIL_NORMAL);
|
|
RemoveImageList(LVSIL_STATE);
|
|
|
|
CCtrlView::OnDestroy();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _AFX_ENABLE_INLINES
|
|
|
|
static const char _szAfxWinInl[] = "afxcview.inl";
|
|
#undef THIS_FILE
|
|
#define THIS_FILE _szAfxWinInl
|
|
#define _AFXCVIEW_INLINE
|
|
#include "afxcview.inl"
|
|
|
|
#endif //_AFX_ENABLE_INLINES
|
|
|
|
#ifdef AFX_INIT_SEG
|
|
#pragma code_seg(AFX_INIT_SEG)
|
|
#endif
|
|
|
|
IMPLEMENT_DYNCREATE(CListView, CCtrlView)
|
|
IMPLEMENT_DYNCREATE(CTreeView, CCtrlView)
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|