|
Projects > GC Project > GCMainDialog.h |
||||
|
compilation.h compilation_defs.h exp_info.h GCMainDialog.h on_apply.h setaxis.h Download gc.exe (1.63 MB) Download VC++ 8.0 Project (54.1 KB RAR Archive) GC Help
#ifndef MAIN_DIALOG #define MAIN_DIALOG
//DECLARATION OF MAIN APPLICATION DIALOG
class MainDialog:public CDialog { private: //---------------------------------------------------------------------------------------- LIST<compilation *> CC_L; //LIST OF FUNCTIONS CONTAINER //---------------------------------------------------------------------------------------- CMenu GC_MainMenu; //MENU HICON GC_Icon; //ICON
CButton * pShiftB, pExpandB; //SHIFT & EXPAND RADIO BUTTONS
CButton * pRAB; HICON RA_Icon; CEdit * pRLE; //RIGHT ARROW BUTTON, ICON, EDITBOX CButton * pLAB; HICON LA_Icon; CEdit * pLLE; //LEFT ARROW BUTTON, ICON, EDITBOX CButton * pUAB; HICON UA_Icon; CEdit * pULE; //UP ARROW BUTTON, ICON, EDITBOX CButton * pDAB; HICON DA_Icon; CEdit * pDLE; //DOWN ARROW BUTTON, ICON, EDITBOX
CComboBox * GC_FormulaCB; //FORMULA COMBO BOX CComboBox * GC_ArgCB; //ARGUMENT COMBO BOX
CWnd * GC_Grid; CRect GridRect; //GRAPH PICTURE BOX CWnd * GC_ResS; CRect resRect; //RESULT PICTURE BOX
char res_val[50]; ostringstream result_out; //STREAM (FOR RESULT) char astring[50]; ostringstream astream; //STREAM (FOR ALL OTHER PURPOSES)
CDC memGrid; CBitmap memBitmap; //GRID MEMORY DC & ASSOCIATED BITMAP CDC memRes; CBitmap memResBitmap; //RESULT MEMORY DC & ASSOCIATED BITMAP //---------------------------------------------------------------------------------------- int GridX,GridY; //GRID SIZE [0,GridX],[0,GridY]
double Xup,Xlo,Yup,Ylo; //REAL NUMBER LIMITS OF GRID double Xmultiplier,Ymultiplier; //NUMBER OF SCREEN UNITS IN 1 REAL UNIT //---------------------------------------------------------------------------------------- private: BOOL OnInitDialog();
//CONTROL FUNCTIONS:
afx_msg void OnApply(); afx_msg void OnPaint(); afx_msg void OnClearAll(); afx_msg void OnRemove();
afx_msg void OnRArrow(); afx_msg void OnLArrow(); afx_msg void OnUArrow(); afx_msg void OnDArrow(); afx_msg void OnZoomIn(); afx_msg void OnZoomOut();
//Sets axes to default position (-5, 5), (-5,5): afx_msg void OnSetDefault(){ pRLE->SetWindowText(_T("5"));pLLE->SetWindowText(_T("-5")); pULE->SetWindowText(_T("5")); pDLE->SetWindowText(_T("-5")); Yup=Xup=5; Ylo=Xlo=-5; OnSetShift(); draw();}
//Exit application: afx_msg void OnExit(){OnClearAll();SendMessage(WM_CLOSE);} //Displays About box: afx_msg void OnAbout(){AboutDialog GC_About(this);GC_About.DoModal();} //Displays Help: afx_msg void OnHelp(){CDialog * GC_Help=new HelpDialog(this); GC_Help->Create(IDD_HELP_DIALOG,this);}
//Clears argument List: afx_msg void OnClearArgumentList(){ GC_ArgCB->SetWindowText(_T("")); while(GC_ArgCB->GetCount()) GC_ArgCB->DeleteString(0); GC_ArgCB->InsertString(0,_T("0")); GC_ArgCB->SetCurSel(0); do_result(); }
//Sets axes manipulation controls to 'SHIFT' mode: afx_msg void OnSetShift(){ GC_MainMenu.CheckMenuRadioItem(ID_SCALE_SHIFTMODE,ID_SCALE_EXPANDMODE,ID_SCALE_SHIFTMODE,MF_BYCOMMAND); this->CheckRadioButton(IDC_SHIFT,IDC_EXPAND,IDC_SHIFT); }
//Sets axes manipulation controls to 'EXPAND' mode: afx_msg void OnSetExpand(){ GC_MainMenu.CheckMenuRadioItem(ID_SCALE_SHIFTMODE,ID_SCALE_EXPANDMODE,ID_SCALE_EXPANDMODE,MF_BYCOMMAND); this->CheckRadioButton(IDC_SHIFT,IDC_EXPAND,IDC_EXPAND); } //---------------------------------------------------------------------------------------- private:
//Rescale (zoom) functions: int resx(const double & val){return (val-Xlo)*Xmultiplier;} // <--RESCALE X int resy(const double & val){return (Yup-val)*Ymultiplier;} // <--RESCALE Y
//Graph drawing functions: int gettextlength(double,int); void setaxis(); void draw(); void do_result();
//-------------------------------------------------------------------------------- public: MainDialog() : CDialog(IDD_MAIN_DIALOG,NULL),result_out(res_val,50),astream(astring,50){ GC_Icon=AfxGetApp()->LoadIcon(IDI_ICON_MAIN);
RA_Icon=AfxGetApp()->LoadIcon(IDI_ICON_R_ARROW); LA_Icon=AfxGetApp()->LoadIcon(IDI_ICON_L_ARROW); UA_Icon=AfxGetApp()->LoadIcon(IDI_ICON_U_ARROW); DA_Icon=AfxGetApp()->LoadIcon(IDI_ICON_D_ARROW);
GC_MainMenu.LoadMenu(IDR_MENU_MAIN); }
//--------------------------------------------------------------------------------
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(MainDialog, CDialog) ON_WM_PAINT() ON_WM_CREATE()
ON_COMMAND(ID_MAIN_APPLY,OnApply) ON_COMMAND(ID_MAIN_CLEARALL,OnClearAll) ON_COMMAND(ID_MAIN_CLEARARGUMENTLIST,OnClearArgumentList) ON_COMMAND(ID_MAIN_REMOVE,OnRemove) ON_COMMAND(ID_MAIN_EXIT, OnExit)
ON_COMMAND(ID_SCALE_SHIFTMODE, OnSetShift) ON_COMMAND(ID_SCALE_EXPANDMODE, OnSetExpand) ON_COMMAND(ID_SCALE_ZOOMIN,OnZoomIn) ON_COMMAND(ID_SCALE_ZOOMOUT,OnZoomOut) ON_COMMAND(ID_SCALE_SETDEFAULT,OnSetDefault) ON_COMMAND(ID_MOVE_RIGHT,OnRArrow) ON_COMMAND(ID_MOVE_LEFT,OnLArrow) ON_COMMAND(ID_MOVE_UP,OnUArrow) ON_COMMAND(ID_MOVE_DOWN,OnDArrow)
ON_COMMAND(ID_INFO_HELP, OnHelp) ON_COMMAND(ID_INFO_ABOUT,OnAbout)
ON_COMMAND(IDC_RAB,OnRArrow) ON_COMMAND(IDC_LAB,OnLArrow) ON_COMMAND(IDC_UAB,OnUArrow) ON_COMMAND(IDC_DAB,OnDArrow)
ON_COMMAND(IDC_SET_DEFAULT_BUTTON,OnSetDefault) ON_COMMAND(IDC_APPLY_BUTTON,OnApply) ON_COMMAND(IDC_REMOVE_BUTTON,OnRemove) ON_COMMAND(IDC_CLEARALL_BUTTON,OnClearAll) ON_COMMAND(IDC_CLEARARGUMENTLIST_BUTTON,OnClearArgumentList) ON_COMMAND(IDC_EXIT_BUTTON, OnExit)
ON_COMMAND(IDC_ZOOMIN_BUTTON, OnZoomIn) ON_COMMAND(IDC_ZOOMOUT_BUTTON, OnZoomOut)
ON_COMMAND(IDC_SHIFT,OnSetShift) ON_COMMAND(IDC_EXPAND,OnSetExpand)
END_MESSAGE_MAP()
#include "on_init_dialog.h" #include "setaxis.h" #include "draw.h" #include "do_result.h"
#include "moving_functions.h" #include "on_paint.h" #include "on_clear_all.h" #include "on_apply.h" #include "on_remove.h"
#endif
compilation.h compilation_defs.h exp_info.h GCMainDialog.h on_apply.h setaxis.h Download gc.exe (1.63 MB) Download VC++ 8.0 Project (54.1 KB RAR Archive) GC Help
Copyright © Yuri Bulankov 2002
|
||||
|
Bugs/Comments: code@compilerabuse.com Copyright (C) 2001-2006 Yuri Bulankov. All rights reserved. |
||||