📄 statisticstree.h
字号:
/* CStatisticsTree Class Header File by Khaos
Copyright (C) 2003
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
This file is a part of the KX mod, and more
specifically, it is a part of my statistics
add-on.
The purpose of deriving a custom class from CTreeCtrl
was to provide another level of customization and control.
This allows us to easily code complicated parsing features
and a context menu.
*/
#pragma once
#include "TitleMenu.h"
// -khaos--+++> Items for our stat's tree context menu.
#define MP_STATTREE_RESET 10950
#define MP_STATTREE_RESTORE 10951
#define MP_STATTREE_COPYSEL 10952
#define MP_STATTREE_COPYVIS 10953
#define MP_STATTREE_COPYALL 10954
#define MP_STATTREE_HTMLCOPYSEL 10955
#define MP_STATTREE_HTMLCOPYVIS 10956
#define MP_STATTREE_HTMLCOPYALL 10957
#define MP_STATTREE_HTMLEXPORT 10958
#define MP_STATTREE_HTMLEXPVIS 10959
#define MP_STATTREE_EXPANDALL 10960
#define MP_STATTREE_COLLAPSEALL 10961
#define MP_STATTREE_EXPANDMAIN 10962
// For GetItemText overloaded function of CStatisticsTree
#define GET_TITLE 0
#define GET_VALUE 1
// <-----khaos--
class CStatisticsTree : public CTreeCtrl, public CLoggable
{
DECLARE_DYNAMIC(CStatisticsTree)
public:
CStatisticsTree();
~CStatisticsTree();
virtual BOOL OnCommand( WPARAM wParam, LPARAM lParam );
protected:
DECLARE_MESSAGE_MAP()
afx_msg void OnLButtonUp( UINT nFlags, CPoint point );
afx_msg void OnRButtonDown( UINT nFlags, CPoint point );
afx_msg void OnContextMenu( CWnd* pWnd, CPoint point );
afx_msg void OnItemExpanded( NMHDR* pNMHDR, LRESULT* pResult );
public:
void Init();
void ExportHTML( bool onlyvisible=false );
bool CopyHTML( int copyMode = MP_STATTREE_HTMLCOPYSEL );
CString GetHTML( bool onlyVisible = true, HTREEITEM theItem = NULL, int theItemLevel = 0, bool firstItem = true );
CString GetHTMLForExport( bool onlyVisible = true, HTREEITEM theItem = NULL, int theItemLevel = 0, bool firstItem = true );
bool CopyText( int copyMode = MP_STATTREE_COPYSEL );
CString GetText( bool onlyVisible = true, HTREEITEM theItem = NULL, int theItemLevel = 0, bool firstItem = true );
CString GetItemText( HTREEITEM theItem );
CString GetItemText( HTREEITEM theItem, int getPart );
bool IsBold( HTREEITEM theItem );
bool IsExpanded( HTREEITEM theItem );
bool CheckState( HTREEITEM hItem, UINT state );
void DoMenu();
void DoMenu(CPoint doWhere);
void DoMenu(CPoint doWhere, UINT nFlags);
void ExpandAll(bool onlyBold = false, HTREEITEM theItem = NULL);
void CollapseAll(HTREEITEM theItem = NULL);
CString GetExpandedMask(HTREEITEM theItem = NULL);
int ApplyExpandedMask(CString theMask, HTREEITEM theItem = NULL, int theStringIndex = 0);
private:
CTitleMenu mnuContext;
CMenu mnuHTML;
bool m_bExpandingAll;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -