📄 resorgsymbolslistview.h
字号:
/************************************************************************
*
* Resource ID Organiser Core Library
*
* (c) Copyright 2000-2004 by Riverblade Limited (UK). All rights reserved.
*
************************************************************************
*
* Description : CResOrgSymbolsListView - list view 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/ResOrgSymbolsListView.h $
* $Revision: 20 $
* $Date: 13/12/04 3:58 $
* $Author: Anna $
*
* $History: ResOrgSymbolsListView.h $
*
* ***************** Version 20 *****************
* User: Anna Date: 13/12/04 Time: 3:58
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* 1. Modifications fo compatibility with dynamic splitters
* 2. Updated file banners
*
* ***************** Version 19 *****************
* User: Anna Date: 29/08/04 Time: 21:16
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* CResourceSymbolsListView::OnCmdSymbolProperties() now allows the
* command to continue routing if there isn't a single selection...this
* allows CResOrgSymbolsDoc to handle it to display Symbol File properties
* instead.
*
* ***************** Version 18 *****************
* User: Anna Date: 11/07/04 Time: 16:17
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Added support for detection of out of range symbols
*
* ***************** Version 17 *****************
* User: Anna Date: 2/06/04 Time: 22:56
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Added "Next Conflict" and "Previous Conflict" commands
*
* ***************** Version 16 *****************
* User: Anna Date: 15/04/03 Time: 20:39
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* 1. Removed unnecessary file guards (#pragma once works well enough)
* 2. Updated file banners
*
* ***************** Version 15 *****************
* User: Anna Date: 15/02/03 Time: 20:48
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Changed big BOOLs into little bools
*
* ***************** Version 14 *****************
* User: Anna Date: 3/01/03 Time: 15:52
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Disabled the "Add Symbol" command if the view is multi-file. This ay be
* temporary - wait and see
*
* ***************** Version 13 *****************
* User: Anna Date: 2/01/03 Time: 23:54
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Added filtering to the Symbols Display
*
* ***************** Version 12 *****************
* User: Anna Date: 25/11/02 Time: 15:14
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Changed website address in banner
*
* ***************** Version 11 *****************
* User: Anna Date: 22/10/02 Time: 13:24
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Changed name/mail address (at last!)
*
* ***************** Version 10 *****************
* 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 9 *****************
* User: Andy Date: 27/05/02 Time: 14:51
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Knock on changes from CResourceSymbolBuffer (now
* CResourceSymbolManager) and CResourceSymbol
*
* ***************** Version 8 *****************
* User: Andy Date: 12/29/01 Time: 6:26p
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added "Restore Original Value" command
*
* ***************** Version 7 *****************
* User: Andy Date: 15/08/01 Time: 13:37
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added a "Fix Conflicts" context menu command
*
* ***************** Version 6 *****************
* User: Andy Date: 22/06/01 Time: 9:50
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Made class declaration "Rose friendly"
*
* ***************** Version 5 *****************
* User: Andy Date: 26/05/01 Time: 15:23
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added OnHelpHitTest() override
*
* ***************** Version 4 *****************
* User: Andy Date: 2/04/01 Time: 17:40
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added "Autosize Columns" context menu entry
*
* ***************** Version 3 *****************
* User: Andy Date: 17/02/01 Time: 7:00
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* 1. Moved generic list control code into a new class
* (CResOrgSymbolsListCtrl)
* 2. Class renamed for consistancy
* 3. Added a "Status" column
* 4. Show modified symbols in blue, and read-only symbols in grey
* [handled by CResOrgSymbolsListCtrl]
* 5. Use new wrapper methods in the document to manipulate its
* CResourceSymbolBuffer object rather than accessing it directly. This
* allows most of the view hints to be moved to the document
*
* ***************** Version 2 *****************
* User: Andy Date: 29/11/00 Time: 18:38
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added file banners
*
* $Nokeywords: $
*
************************************************************************/
#pragma once
class CResOrgSymbolsDoc;
class CResourceSymbol;
#include "ResOrgSymbolsListCtrl.h"
#define CResOrgSymbolsListView_BASE CView
class RESORGCORE_EXT_CLASS CResOrgSymbolsListView : public CView
{
DECLARE_DYNCREATE(CResOrgSymbolsListView)
protected: // create from serialization only
CResOrgSymbolsListView(void);
virtual ~CResOrgSymbolsListView(void);
// Attributes
protected:
CResOrgSymbolsListCtrl m_ctrlSymbols;
BOOL m_bInitialised;
int m_nLastHPos;
int m_nLastVPos;
// Operations
public:
CResOrgSymbolsDoc* GetDocument(void);
// Virtual Overrides
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual void OnInitialUpdate(void); // called first time after construct
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
// Implementation
public:
#ifdef _DEBUG
virtual void AssertValid(void) const;
virtual void Dump(CDumpContext& dc) const;
#endif
void Initialise(void);
protected:
void ConfigureScrollbars(void);
BOOL ConfirmDelete(const CString& sSymbol = _T("") ) const;
BOOL IsValueUnique( CResourceSymbol* pSymbol,
UINT uValue);
// Message handlers
protected:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg LRESULT OnMsgSetScrollInfo(WPARAM wParam, LPARAM lParam);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
afx_msg void OnCmdAutosizeColumns(void);
afx_msg void OnCmdShowProblemSymbolsOnly(void);
afx_msg void OnUpdateShowProblemSymbolsOnly(CCmdUI* pCmdUI);
afx_msg void OnCmdEditSelectAll(void);
afx_msg void OnUpdateEditSelectAll(CCmdUI* pCmdUI);
afx_msg BOOL OnCmdSymbolProperties(UINT nID = 0);
afx_msg void OnCmdAddSymbol(void);
afx_msg void OnUpdateAddSymbol(CCmdUI* pCmdUI);
afx_msg void OnCmdDeleteSymbol(void);
afx_msg void OnUpdateDeleteSymbol(CCmdUI* pCmdUI);
afx_msg void OnCmdRestoreOriginalValue(void);
afx_msg void OnUpdateRestoreOriginalValue(CCmdUI* pCmdUI);
afx_msg void OnCmdFixSymbolValue(void);
afx_msg void OnUpdateFixSymbolValue(CCmdUI* pCmdUI);
afx_msg void OnCmdPreviousProblemSymbol(void);
afx_msg void OnUpdatePreviousProblemSymbol(CCmdUI* pCmdUI);
afx_msg void OnCmdNextProblemSymbol(void);
afx_msg void OnUpdateNextProblemSymbol(CCmdUI* pCmdUI);
afx_msg LRESULT OnHelpHitTest(WPARAM, LPARAM);
afx_msg void OnItemChangedListCtrl(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnDblClickListCtrl(NMHDR* pNMHDR, LRESULT* pResult);
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // debug version in ResourceOrganiserView.cpp
inline CResOrgSymbolsDoc* CResOrgSymbolsListView::GetDocument()
{ return (CResOrgSymbolsDoc*)m_pDocument; }
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -