home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
vc98
/
mfc
/
src
/
viewcmn.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1998-06-16
|
3KB
|
123 lines
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1998 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)
/////////////////////////////////////////////////////////////////////////////