|
|
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996 Microsoft Corporation
//
// Module Name:
// ModRes.cpp
//
// Abstract:
// Implementation of the CModifyResourcesDlg dialog.
//
// Author:
// David Potter (davidp) November 26, 1996
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ModRes.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CModifyResourcesDlg
/////////////////////////////////////////////////////////////////////////////
IMPLEMENT_DYNCREATE(CModifyResourcesDlg, CListCtrlPairDlg)
/////////////////////////////////////////////////////////////////////////////
// Message Maps
BEGIN_MESSAGE_MAP(CModifyResourcesDlg, CListCtrlPairDlg) //{{AFX_MSG_MAP(CModifyResourcesDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CModifyResourcesDlg::CModifyResourcesDlg
//
// Routine Description:
// Default constructor.
//
// Arguments:
// None.
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
CModifyResourcesDlg::CModifyResourcesDlg(void) { } //*** CModifyResourcesDlg::CModifyResourcesDlg()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CModifyResourcesDlg::CModifyResourcesDlg
//
// Routine Description:
// Constructor.
//
// Arguments:
// idd [IN] Dialog ID.
// pdwHelpMap [IN] Control-to-Help ID mapping array.
// rlpciRight [IN OUT] List for the right list control.
// rlpciLeft [IN] List for the left list control.
// dwStyle [IN] Style:
// LCPS_SHOW_IMAGES Show images to left of items.
// LCPS_ALLOW_EMPTY Allow right list to be empty.
// LCPS_ORDERED Ordered right list.
// pParent [IN OUT] Parent window.
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
CModifyResourcesDlg::CModifyResourcesDlg( IN UINT idd, IN const DWORD * pdwHelpMap, IN OUT CResourceList & rlpciRight, IN const CResourceList & rlpciLeft, IN DWORD dwStyle, IN OUT CWnd * pParent //=NULL
) : CListCtrlPairDlg( idd, pdwHelpMap, &rlpciRight, &rlpciLeft, dwStyle | LCPS_PROPERTIES_BUTTON | (dwStyle & LCPS_ORDERED ? LCPS_CAN_BE_ORDERED : 0), GetColumn, BDisplayProperties, pParent ) { //{{AFX_DATA_INIT(CModifyResourcesDlg)
//}}AFX_DATA_INIT
} //*** CModifyResourcesDlg::CModifyResourcesDlg()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CModifyResourcesDlg::OnInitDialog
//
// Routine Description:
// Handler for the WM_INITDIALOG message.
//
// Arguments:
// None.
//
// Return Value:
// TRUE Focus needs to be set.
// FALSE Focus already set.
//
//--
/////////////////////////////////////////////////////////////////////////////
BOOL CModifyResourcesDlg::OnInitDialog(void) { // Add columns.
try { NAddColumn(IDS_COLTEXT_NAME, COLI_WIDTH_NAME); NAddColumn(IDS_COLTEXT_RESTYPE, COLI_WIDTH_RESTYPE); } // try
catch (CException * pe) { pe->ReportError(); pe->Delete(); } // catch: CException
// Call the base class method.
CListCtrlPairDlg::OnInitDialog();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
} //*** CModifyResourcesDlg::OnInitDialog()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CModifyResourcesDlg::GetColumn [static]
//
// Routine Description:
// Returns a column for an item.
//
// Arguments:
// pobj [IN OUT] Object for which the column is to be displayed.
// iItem [IN] Index of the item in the list.
// icol [IN] Column number whose text is to be retrieved.
// pdlg [IN OUT] Dialog to which object belongs.
// rstr [OUT] String in which to return column text.
// piimg [OUT] Image index for the object.
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
void CALLBACK CModifyResourcesDlg::GetColumn( IN OUT CObject * pobj, IN int iItem, IN int icol, IN OUT CDialog * pdlg, OUT CString & rstr, OUT int * piimg ) { CResource * pciRes = (CResource *) pobj; int colid;
ASSERT_VALID(pciRes); ASSERT((0 <= icol) && (icol <= 1));
switch (icol) { // Sorting by resource name.
case 0: colid = IDS_COLTEXT_RESOURCE; break;
// Sorting by resource type.
case 1: colid = IDS_COLTEXT_RESTYPE; break;
default: colid = IDS_COLTEXT_RESOURCE; break; } // switch: icol
pciRes->BGetColumnData(colid, rstr); if (piimg != NULL) *piimg = pciRes->IimgObjectType();
} //*** CModifyResourcesDlg::GetColumn()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CModifyResourcesDlg::BDisplayProperties [static]
//
// Routine Description:
// Display the properties of the specified object.
//
// Arguments:
// pobj [IN OUT] Cluster item whose properties are to be displayed.
//
// Return Value:
// TRUE Properties where accepted.
// FALSE Properties where cancelled.
//
//--
/////////////////////////////////////////////////////////////////////////////
BOOL CALLBACK CModifyResourcesDlg::BDisplayProperties(IN OUT CObject * pobj) { CClusterItem * pci = (CClusterItem *) pobj;
ASSERT_KINDOF(CClusterItem, pobj);
return pci->BDisplayProperties();
} //*** CModifyResourcesDlg::BDisplayProperties();
|