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

📄 mdi.h

📁 理财小工具
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        mdi.cpp// Purpose:     MDI sample// Author:      Julian Smart// Modified by:// Created:     04/01/98// RCS-ID:      $Id: mdi.h,v 1.12 2004/04/26 04:25:13 wq1977 Exp $// Copyright:   (c) Julian Smart and Markus Holzem// Licence:     wxWindows license/////////////////////////////////////////////////////////////////////////////#ifndef __LILIMONEY_MDI_H__#define __LILIMONEY_MDI_H__#include "wx/toolbar.h"#include "wx/calctrl.h"#include "wx/dynarray.h"#include "moneybook.h"#define MAX_REC_SHOW 100// Define a new applicationclass MyApp : public wxApp{public:    //! variable for internationalization    wxLocale m_locale;	    bool OnInit();};class childvalueElem{	public:			wxDouble  value;		int       valuetype;		childvalueElem(wxDouble avalue, int avaluetype)		{			value = avalue;			valuetype = avaluetype;		};};WX_DECLARE_LIST(childvalueElem,childvalueList);class MonthDataElem{public:		wxDouble  value;	wxDateTime thedate;	childvalueList children;	MonthDataElem(wxDouble  avalue, wxDateTime adate)		{			value = avalue; thedate = adate; 		};	~MonthDataElem(){children.DeleteContents(TRUE);};};WX_DECLARE_LIST(MonthDataElem,MonthDataList);class ColourDescElem{public:		wxBrush *color;	wxString desc;	ColourDescElem(wxBrush *acolor,wxString adesc)		{			color = acolor;			desc = adesc;		};};WX_DECLARE_LIST(ColourDescElem,ColourDescList);class MyCanvas : public wxScrolledWindow{public:		wxChar title[100];	MonthDataList valuelist;		ColourDescList mycolors;    MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size);	~MyCanvas(){valuelist.DeleteContents(TRUE);mycolors.DeleteContents(TRUE);};    virtual void OnDraw(wxDC& dc);		void DrawChild(wxDC& dc, wxCoord x, wxCoord y, wxCoord width, wxCoord height,MonthDataElem*pchild);    void OnEvent(wxMouseEvent& event);private:    DECLARE_EVENT_TABLE()};class MyChild: public wxMDIChildFrame{public:    MyCanvas *canvas;    MyChild(wxMDIParentFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size, const long style);    ~MyChild();    void OnActivate(wxActivateEvent& event);    void OnRefresh(wxCommandEvent& event);    void OnUpdateRefresh(wxUpdateUIEvent& event);    void OnChangeTitle(wxCommandEvent& event);    void OnChangePosition(wxCommandEvent& event);    void OnChangeSize(wxCommandEvent& event);    void OnQuit(wxCommandEvent& event);    void OnSize(wxSizeEvent& event);    void OnMove(wxMoveEvent& event);    void OnClose(wxCloseEvent& event);    DECLARE_EVENT_TABLE()};class MyGridFrame: public wxMDIChildFrame{	wxTextCtrl 		*m_text1,*m_text2,*m_text3;	wxDouble totalValue;private:	void ResetSize(wxSize clientSize);public:	MyXmlNodeList	gridobject;    wxGrid          *grid;	bool  EnableAutoModify;	int colwidth[3];	int recheight;    MyGridFrame(wxMDIParentFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size, const long style);    ~MyGridFrame();	void AddRecToGrid(xmlnodeGNode*nodedata,wxString s1,wxString s2,wxString s3);	void AppendRecToGrid(xmlnodeGNode*nodedata, wxString s1,wxString s2,wxString s3);    void OnSize(wxSizeEvent& event);    void OnClose(wxCloseEvent& event);    void OnQuit(wxCommandEvent& event);	void OnKeyDown(wxKeyEvent& event);	void OnCellRightClick( wxGridEvent& ev );	void OnCellValueChanged( wxGridEvent& );	void OnTabKeyPress(wxCommandEvent& event);	void OnDownKeyPress(wxCommandEvent& event);	void OnUpKeyPress(wxCommandEvent& event);	void OnColSize(wxGridSizeEvent& );	void OnRowSize(wxGridSizeEvent& );	void UpdateUIBaseOnSize();	void UpdateStatusBar();	void OnDeleteRec(wxCommandEvent& WXUNUSED(event));	wxDouble GetTotalFromUi();    DECLARE_EVENT_TABLE()};typedef struct{	int recheight;	int colswidth[3];	bool hintinmodify;}LiliMoneyConfigData;// Define a new frame#define MAX_COLOR_BRUSH_COUNT 24unsigned int colorbase[MAX_COLOR_BRUSH_COUNT][3]={		{128,0,0},		{255,0,0},		{128,128,0},		{255,255,0},		{0,128,0},		{0,255,0},		{0,128,128},		{0,255,255},		{0,0,128},		{0,0,255},		{128,0,128},		{255,0,255},		{128,128,64},		{255,255,128},		{0,64,64},		{0,255,128},		{0,128,255},		{128,255,255},		{0,64,128},		{128,128,255},		{128,0,255},		{255,0,128},		{128,64,0},				{255,128,64}};class MyStatusBar: public wxStatusBar{public:	MyStatusBar(wxWindow* parent, wxWindowID id, long style = wxST_SIZEGRIP, const wxString& name = "statusBar")		:wxStatusBar(parent,id,style,name)	{		;	};	void OnDbClick(wxMouseEvent& event);private:    DECLARE_EVENT_TABLE()};class MyFrame : public wxMDIParentFrame{public:	MoneyBook  *moneybook;	MyStatusBar *statusbar;    wxTreeCtrl *textWindow;	LiliMoneyConfigData stdata;	wxBrush *gColorBrush[MAX_COLOR_BRUSH_COUNT];		    MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title,            const wxPoint& pos, const wxSize& size, const long style);	~MyFrame();    void InitToolBar(wxToolBar* toolBar);	void CreateMainMenu(wxFrame *parent);    void OnSize(wxSizeEvent& event);    void OnAbout(wxCommandEvent& event);    void OnNewWindow(wxCommandEvent& event);    void OnQuit(wxCommandEvent& event);    void OnClose(wxCloseEvent& event);	void OnTreeItemRightClick(wxTreeEvent& event);	void OnTreeItemSelChanging(wxTreeEvent& event);	void OnAddMoneyType(wxCommandEvent& event);	void OnSetIncomingBase(wxCommandEvent& WXUNUSED(event));	void OnSetDefault(wxCommandEvent& WXUNUSED(event));	void UpdateStatusBar(void);	bool GetAllConfig(LiliMoneyConfigData *pstdata);	bool SetAllConfig(LiliMoneyConfigData *pstdata);	void OnDeleteMoneyType(wxCommandEvent& WXUNUSED(event));	void OnCreateBrowserWin(wxCommandEvent& WXUNUSED(event));		void OnCreateCustomChart(wxCommandEvent& WXUNUSED(event));	void OnCreateChart(wxCommandEvent& WXUNUSED(event));	void OnCreateCustomBrowser(wxCommandEvent& WXUNUSED(event));	void CreateChart(wxTreeItemId baseitem, const char* title);	void OnCalcHouseFee(wxCommandEvent& WXUNUSED(event));	void OnViewMonthOut(wxCommandEvent& WXUNUSED(event));	void CreateBrowserWindow(wxTreeItemId *pid = NULL, bool thisMonthOnly = TRUE, wxDateTime thedate = wxDateTime::Today());	void RecursionShowRec(xmlNodePtr pid, MyGridFrame *pFrame,bool showall = FALSE, bool thismonthonly=TRUE, wxDateTime thedate = wxDateTime::Today());    DECLARE_EVENT_TABLE()};// A custom modal dialogclass MyCalendarDialog : public wxDialog{public:	wxCalendarCtrl *m_calendar;    MyCalendarDialog(wxWindow *parent);    void OnButton(wxCommandEvent& event);private:    wxButton *m_btnFocused;    DECLARE_EVENT_TABLE()};// A custom modal dialogclass MyCalcHouseFeeDialog: public wxDialog{public:    MyCalcHouseFeeDialog(wxWindow *parent);    void OnButton(wxCommandEvent& event);	void SetValue(wxDouble TotalCnt, wxDouble MonthRate, long terms, long PayMethod);private:	wxTextCtrl *m_TotalCount;	wxTextCtrl *m_MonthRate;	wxTextCtrl *m_Terms;	wxRadioBox *m_PayMethord;	wxButton *m_btnFocused;	wxButton *m_btnSetDefault;    DECLARE_EVENT_TABLE()};// menu items idsenum{    MDI_QUIT = 100,    MDI_NEW_WINDOW,    MDI_REFRESH,    MDI_CHANGE_TITLE,    MDI_CHANGE_POSITION,    MDI_CHANGE_SIZE,    MDI_CHILD_QUIT,    MDI_ABOUT,	TOOL_CALCHOUSEFEE,    VIEW_MONTH_OUT,	POPUP_CREATEBROWSERWIN,	POPUP_ADDMONEYTYPE,	POPUP_DELETETYPE,	POPUP_SETASDEFAULT,	POPUP_DELETEREC,	POPUP_SETBASE,	POPUP_CREATECUSTOMBROWSER,	POPUP_CREATECHART,	POPUP_CREATECUSTOMCHART,	NORMAL_UP_ID,	NORMAL_DOWN_ID,	NORMAL_TAB_ID,	MTEXT_1,	MTEXT_2,    MTEXT_3,    TreeTest_Ctrl,    Calendar_CalCtrl};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -