/*============================================================================= * * Filename: MatList.cpp * Version: 1.0 * Date: 06/11/96 * Author: V.L. * * Description: implementation of MaterialList view * *===========================================================================*/ #include "stdafx.h" #include "Acp_base.h" #include "itf.h" #include "incgam.h" #include "_interf.hpp" #include "PatternList.hpp" #include "TGMDef.hpp" #include "matres.h" extern Material_Interface *gs_p_oMaterialInterface; //============================================================================= // Description : Message map //============================================================================= BEGIN_MESSAGE_MAP(CPatternedListView, C3ListView) //{{AFX_MSG_MAP(CPatternedListView) ON_WM_CREATE() //}}AFX_MSG_MAP END_MESSAGE_MAP() //============================================================================= // Description : constructor //============================================================================= CPatternedListView::CPatternedListView() : C3ListView() { m_fn_vSetBox(C_cDisplayBitmapAndText, C_wListViewBTItemWidth, C_wListViewBTItemHeight); m_fn_vSetBox(C_cDisplayBitmap, C_wListViewBItemWidth, C_wListViewBItemHeight); m_fn_vSetBox(C_cDisplayText, C_wListViewTItemWidth, C_wListViewTItemHeight); //m_fn_vDisableMenuItem(TLVM_lOrder); m_oHatchBitmap.LoadBitmap(IDB_BITMAP_HATCHED); m_oHatchBrush.CreatePatternBrush(&m_oHatchBitmap); m_fn_vSetBitmapList(NULL); m_wSpecialImage = TSL_cItemNotFound; } //============================================================================= // Description : destructor //============================================================================= CPatternedListView::~CPatternedListView() { } //============================================================================= // Description : Create view //============================================================================= int CPatternedListView::OnCreate( LPCREATESTRUCT _p_stCreateStruct ) { if (C3ListView::OnCreate( _p_stCreateStruct ) == -1) return -1; m_cDisplayType = C_cDisplayBitmapAndText; return 0; } //============================================================================= // Description : on draw item //============================================================================= void CPatternedListView::m_fn_vOverriddenDrawItem( short wItem, CDC *pDC, RECT *rect) { BOOL bSelected; //if the item was not loaded by engine, select a gray background CBrush *p_oOldBrush = NULL; //CBrush oGrayBrush(HS_BDIAGONAL, RGB(200, 100, 70)); //CBrush oGrayBrush(CBitmap::FromHandle(m_hHatchBitmap)) if ( !m_fn_lGetContent( wItem, m_cCurrentOrder ) ) //no value associated to the image: display with alternate background p_oOldBrush = pDC->SelectObject(&m_oHatchBrush); //draw the item normally, with a special text for items with this image (in text only-mode) m_fn_vDrawItem( wItem, pDC, rect, m_wSpecialImage); //restore the original background if ( p_oOldBrush ) pDC->SelectObject(p_oOldBrush); // reinvert rectangle if item is selected bSelected = m_fn_bIsItemSelected(wItem, m_cCurrentOrder); if (bSelected) pDC->InvertRect( rect ); if (bSelected) pDC->InvertRect( rect ); } //============================================================================= // Description : redraw selected item // called by CMaterialDescDlg when visuel change //============================================================================= /*void CPatternedListView::m_fn_vRedrawSelectedItem(int iItem /*= -1* /) { if ( iItem == TSL_cItemNotFound ) iItem = m_fn_lGetSelectedItem(m_cCurrentOrder); RECT rect; m_fn_vGetCaseRect((short) iItem, &rect); rect.top -= GetScrollPosition().y; rect.bottom -= GetScrollPosition().y; rect.left -= GetScrollPosition().x; rect.right -= GetScrollPosition().x; InvalidateRect( &rect ); }*/