⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resorgsymbolslistview.h

📁 ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - Manage and Renumber Resource Symbol IDs Introduction The
💻 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 + -