📄 resorgsymbolslistctrl.h
字号:
/************************************************************************
*
* Resource ID Organiser Core Library
*
* (c) Copyright 2000-2004 by Riverblade Limited (UK). All rights reserved.
*
************************************************************************
*
* Description : CResOrgSymbolsListCtrl - list control class for a
* resource symbol file
*
* Target
* Environment : Windows 98/NT/2000/XP
*
* NOTE:
*
* This software is provided "as is". All title and copyrights in and
* to the software, including but not limited to any images, text etc.
* etc. incorporated into it, are the property of Anna-Jayne Metcalfe
* and Riverblade Limited, except where acknowledged otherwise.
*
* Your may freely use this code in your own products, PROVIDED
* this notice is not removed or modified.
*
* For support and updates please visit http://www.riverblade.co.uk/products/resorg
* or email support@riverblade.co.uk
*
************************************************************************
*
* MODIFICATION HISTORY:
*
* This is a controlled document. See project configuration
* control tool for latest version and full version history.
*
* $Archive: /Projects/AddIns/ResOrg/ResOrgCore/ResOrgSymbolsListCtrl.h $
* $Revision: 14 $
* $Date: 13/12/04 3:56 $
* $Author: Anna $
*
* $History: ResOrgSymbolsListCtrl.h $
*
* ***************** Version 14 *****************
* User: Anna Date: 13/12/04 Time: 3:56
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* 1. Modifications fo compatibility with dynamic splitters
* 2. Updated file banners
*
* ***************** Version 13 *****************
* User: Anna Date: 11/07/04 Time: 16:16
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Added support for detection of out of range symbols
*
* ***************** Version 12 *****************
* User: Anna Date: 15/04/03 Time: 20:37
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* 1. Removed unnecessary file guards (#pragma once works well enough)
* 2. Updated file banners
*
* ***************** Version 11 *****************
* User: Anna Date: 3/01/03 Time: 7:36
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Added an option to filter multi-file Symbols Displays by default
*
* ***************** Version 10 *****************
* User: Anna Date: 2/01/03 Time: 23:54
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Added filtering to the Symbols Display
*
* ***************** Version 9 *****************
* User: Anna Date: 25/11/02 Time: 15:14
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Changed website address in banner
*
* ***************** Version 8 *****************
* User: Anna Date: 22/10/02 Time: 13:24
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Changed name/mail address (at last!)
*
* ***************** Version 7 *****************
* User: Andy Date: 7/06/02 Time: 17:04
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Renamed the ResOrgUtils module to ResOrgCore. Updated file banners
* accordingly
*
* ***************** Version 6 *****************
* User: Andy Date: 27/05/02 Time: 14:50
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Knock on changes from CResourceSymbolBuffer (now
* CResourceSymbolManager)
*
* ***************** Version 5 *****************
* User: Andy Date: 12/28/01 Time: 4:34p
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added a new override of CResOrgSymbolsListCtrl::AddSymbols()
*
* ***************** Version 4 *****************
* User: Andy Date: 12/27/01 Time: 11:20p
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* 1. Added "Original ID" column
* 2. Added CResOrgSymbolsListCtrl::SetSymbolManager(),
* UpdateAllSymbols() and GetSymbol()
* 3. Renamed CResOrgSymbolsListCtrl::LookupSelection() to GetSelection()
* and added an overload which works with multiple selections
*
* ***************** Version 3 *****************
* User: Andy Date: 22/06/01 Time: 9:50
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Made class declaration "Rose friendly"
*
* ***************** Version 2 *****************
* User: Andy Date: 27/03/01 Time: 15:23
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* 1. Made the "Status" column optional
* 2. Modifications to allow use in the "Symbol Conflicts" property page
*
* ***************** Version 1 *****************
* User: Andy Date: 17/02/01 Time: 6:47
* Created in $/Projects/AddIns/ResOrg/ResOrgUtils
*
* ***************** Version 3 *****************
* User: Andy Date: 29/11/00 Time: 18:38
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added file banners
*
* $Nokeywords: $
*
************************************************************************/
#pragma once
/////////////////////////////////////////////////////////////////////////////
// CResOrgSymbolsListCtrl window
#define CResOrgSymbolsListCtrl_BASE CCJListCtrl
class RESORGCORE_EXT_CLASS CResOrgSymbolsListCtrl : public CCJListCtrl
{
// Construction/Destruction
public:
CResOrgSymbolsListCtrl(void);
virtual ~CResOrgSymbolsListCtrl(void);
// Attributes
public:
int m_nSortColumn;
bool m_bSortAscending;
CResourceSymbolManager* m_pResourceSymbolManager;
CNGImageList m_ctrlImages;
bool m_bShowStatusColumn;
bool m_bShowProblemSymbolsOnly;
// Operations
public:
CResourceSymbolManager* GetSymbolManager(void) const
{ return m_pResourceSymbolManager; }
bool SetSymbolManager(CResourceSymbolManager* pResourceSymbolManager);
void Initialise( bool bFlatHeader = false,
bool bShowStatusColumn = true);
bool ShowProblemSymbolsOnly(void) const
{ return m_bShowProblemSymbolsOnly; }
bool ShowProblemSymbolsOnly(bool bShow);
bool IsVisible(CResourceSymbol* pSymbol) const;
void AddSymbols(CResourceSymbolManager* pResourceSymbolManager);
void AddSymbols(const CResourceSymbolList& listSymbols);
bool AddSymbol(CResourceSymbol* pSymbol);
bool UpdateSymbol(CResourceSymbol* pSymbol);
bool UpdateAllSymbols(void);
bool RemoveSymbol(CResourceSymbol* pSymbol);
void RemoveAllSymbols(void);
bool Sort(void);
int FindSymbol(CResourceSymbol* pSymbol) const;
CResourceSymbol* GetSelection(void) const;
CResourceSymbol* GetSymbol(int nItem) const;
int GetSelection(CResourceSymbolList& rlistSymbols) const;
// Virtual Overrides
protected:
virtual void PreSubclassWindow(void);
public:
virtual bool SortList(int nColumn, bool bAscending);
// Implementation
protected:
// Generated message map functions
protected:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
DECLARE_MESSAGE_MAP()
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -