Expert Developer Pro - " ", ( , , ).
EDPro 3.5 : edpro35.zip
, ( , , (. 1).
. 1 .
Expert->New, New (. 2).
. 2
. . , () ().
, . ( 3).
. 3 .
->Save ( Save), Expert->Save As .
Expert->Open, Open . .
Expert->Begin Test, Begin Test . .
. 4 .
(. 5) .
. 5 .
9 , 8 cpp- 9 , .
- elem ( ):
{
public:
CString value;
int yes, no;
BOOL answer;
elem()
{
value = " ";
yes = -1;
no = -1;
answer = FALSE;
}
};
CExpertApp (CWinApp),
- CMainFrame (CMDIFrameWnd),
- CChildFrame, CTestFrame (CMDIChildWnd),
CExpertDoc (CDocument),
CExpertView (FormView)
CTestView (FormView).
, : vector < > ;
, :
-- --
. . . - . - . , , ... - , , , .
-- --
! .
: , ; , ; . , , . , ?! ...
-- --
, , . ? , -, . -, . !
, .
-- --
, : , , . , . . - , .
- , !
-- , --
. , , , . , . ( ) , . , , () . .
, , ( ) .
-- , --
. , , , . , . ( ) , . , , () . .
, , ( ) .
// MainFrm.h : interface of the CMainFrame class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_MAINFRM_H__26C55761_172C_4D1B_B12E_FFBB834E665A__INCLUDED_) #define AFX_MAINFRM_H__26C55761_172C_4D1B_B12E_FFBB834E665A__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CMainFrame : public CMDIFrameWnd { DECLARE_DYNAMIC(CMainFrame) public: CMainFrame(); // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CMainFrame) virtual BOOL PreCreateWindow(CREATESTRUCT& cs); //}}AFX_VIRTUAL // Implementation public: virtual ~CMainFrame(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: // control bar embedded members CStatusBar m_wndStatusBar; CToolBar m_wndToolBar; // Generated message map functions protected: //{{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnExpertBegintest(); afx_msg void OnExpertNew(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_MAINFRM_H__26C55761_172C_4D1B_B12E_FFBB834E665A__INCLUDED_) // MainFrm.cpp : implementation of the CMainFrame class // #include "stdafx.h" #include "Expert.h" #include "MainFrm.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMainFrame IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd) BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_COMMAND(ID_EXPERT_BEGINTEST, OnExpertBegintest) ON_COMMAND(ID_EXPERT_NEW, OnExpertNew) //}}AFX_MSG_MAP END_MESSAGE_MAP() static UINT indicators[] = { ID_SEPARATOR, // status line indicator ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, }; ///////////////////////////////////////////////////////////////////////////// // CMainFrame construction/destruction CMainFrame::CMainFrame() { // TODO: add member initialization code here } CMainFrame::~CMainFrame() { } int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0("Failed to create status bar\n"); return -1; // fail to create } // TODO: Delete these three lines if you don't want the toolbar to // be dockable m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); return 0; } BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CMDIFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CMainFrame diagnostics #ifdef _DEBUG void CMainFrame::AssertValid() const { CMDIFrameWnd::AssertValid(); } void CMainFrame::Dump(CDumpContext& dc) const { CMDIFrameWnd::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMainFrame message handlers extern CExpertApp theApp; void CMainFrame::OnExpertBegintest() { CFileDialog dialog(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Expert Templates (*.xpt)|*.xpt"); if(dialog.DoModal() == IDCANCEL) return; CDocTemplate *templ; POSITION pos = theApp.GetFirstDocTemplatePosition(); theApp.GetNextDocTemplate(pos); templ = theApp.GetNextDocTemplate(pos); templ->OpenDocumentFile(dialog.GetFileName()); } void CMainFrame::OnExpertNew() { CDocTemplate *templ; POSITION pos = theApp.GetFirstDocTemplatePosition(); templ = theApp.GetNextDocTemplate(pos); templ->OpenDocumentFile(NULL); } // Expert.h : main header file for the EXPERT application // #if !defined(AFX_EXPERT_H__5EABEE86_3F2C_424E_B40D_BAA9615D8861__INCLUDED_) #define AFX_EXPERT_H__5EABEE86_3F2C_424E_B40D_BAA9615D8861__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #ifndef __AFXWIN_H__ #error include 'stdafx.h' before including this file for PCH #endif #include "resource.h" // main symbols ///////////////////////////////////////////////////////////////////////////// // CExpertApp: // See Expert.cpp for the implementation of this class // class CExpertApp : public CWinApp { public: CExpertApp(); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CExpertApp) public: virtual BOOL InitInstance(); //}}AFX_VIRTUAL // Implementation //{{AFX_MSG(CExpertApp) afx_msg void OnAppAbout(); // NOTE - the ClassWizard will add and remove member functions here. // DO NOT EDIT what you see in these blocks of generated code ! //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_EXPERT_H__5EABEE86_3F2C_424E_B40D_BAA9615D8861__INCLUDED_) // Expert.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "Expert.h" #include "MainFrm.h" #include "ChildFrm.h" #include "ExpertDoc.h" #include "ExpertView.h" #include "TestView.h" #include "TestFrame.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CExpertApp BEGIN_MESSAGE_MAP(CExpertApp, CWinApp) //{{AFX_MSG_MAP(CExpertApp) ON_COMMAND(ID_APP_ABOUT, OnAppAbout) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG_MAP // Standard file based document commands ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) // Standard print setup command ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CExpertApp construction CExpertApp::CExpertApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CExpertApp object CExpertApp theApp; ///////////////////////////////////////////////////////////////////////////// // CExpertApp initialization BOOL CExpertApp::InitInstance() { // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif // Change the registry key under which our settings are stored. // TODO: You should modify this string to be something appropriate // such as the name of your company or organization. SetRegistryKey(_T("Local AppWizard-Generated Applications")); LoadStdProfileSettings(); // Load standard INI file options (including MRU) // Register the application's document templates. Document templates // serve as the connection between documents, frame windows and views. CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_EXPERTTYPE, RUNTIME_CLASS(CExpertDoc), RUNTIME_CLASS(CChildFrame), // custom MDI child frame RUNTIME_CLASS(CExpertView)); AddDocTemplate(pDocTemplate); pDocTemplate = new CMultiDocTemplate( IDR_TEST, RUNTIME_CLASS(CExpertDoc), RUNTIME_CLASS(CTestFrame), // custom MDI child frame RUNTIME_CLASS(CTestView)); AddDocTemplate(pDocTemplate); // create main MDI Frame window CMainFrame* pMainFrame = new CMainFrame; if (!pMainFrame->LoadFrame(IDR_MAINFRAME)) return FALSE; m_pMainWnd = pMainFrame; // Enable drag/drop open m_pMainWnd->DragAcceptFiles(); // Enable DDE Execute open EnableShellOpen(); RegisterShellFileTypes(TRUE); // Parse command line for standard shell commands, DDE, file open CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); // Dispatch commands specified on the command line if(!cmdInfo.m_strFileName.IsEmpty()) if (!ProcessShellCommand(cmdInfo)) return FALSE; // The main window has been initialized, so show and update it. pMainFrame->ShowWindow(m_nCmdShow); pMainFrame->UpdateWindow(); return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) // No message handlers //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() // App command to run the dialog void CExpertApp::OnAppAbout() { CAboutDlg aboutDlg; aboutDlg.DoModal(); } ///////////////////////////////////////////////////////////////////////////// // CExpertApp message handlers // ExpertDoc.h : interface of the CExpertDoc class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_EXPERTDOC_H__F390F10A_A2A5_47F2_883B_06061F97672A__INCLUDED_) #define AFX_EXPERTDOC_H__F390F10A_A2A5_47F2_883B_06061F97672A__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include/////////////////////////////////////////////////////////////////////////////using namespace std; class elem { public: CString value; int yes, no; BOOL answer; elem() { value = "=v "; yes = -1; no = -1; answer = FALSE; } }; class CExpertDoc : public CDocument { protected: // create from serialization only CExpertDoc(); DECLARE_DYNCREATE(CExpertDoc) // Attributes public: //int nSize; vector vElem; // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CExpertDoc) public: virtual BOOL OnNewDocument(); virtual void Serialize(CArchive& ar); //}}AFX_VIRTUAL // Implementation public: virtual ~CExpertDoc(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: // Generated message map functions protected: //{{AFX_MSG(CExpertDoc) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_EXPERTDOC_H__F390F10A_A2A5_47F2_883B_06061F97672A__INCLUDED_) // ExpertDoc.cpp : implementation of the CExpertDoc class // #include "stdafx.h" #include "Expert.h" #include "ExpertDoc.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CExpertDoc IMPLEMENT_DYNCREATE(CExpertDoc, CDocument) BEGIN_MESSAGE_MAP(CExpertDoc, CDocument) //{{AFX_MSG_MAP(CExpertDoc) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CExpertDoc construction/destruction CExpertDoc::CExpertDoc() { // TODO: add one-time construction code here } CExpertDoc::~CExpertDoc() { } BOOL CExpertDoc::OnNewDocument() { if (!CDocument::OnNewDocument()) return FALSE; // TODO: add reinitialization code here // (SDI documents will reuse this document) vElem.push_back(elem()); return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CExpertDoc serialization void CExpertDoc::Serialize(CArchive& ar) { int i; if (ar.IsStoring()) { ar << vElem.size(); for(i=0; i > nSize; vElem.clear(); vElem.resize(nSize); for(i=0; i > vElem[i].value; ar >> vElem[i].yes; ar >> vElem[i].no; ar >> vElem[i].answer; } } } ///////////////////////////////////////////////////////////////////////////// // CExpertDoc diagnostics #ifdef _DEBUG void CExpertDoc::AssertValid() const { CDocument::AssertValid(); } void CExpertDoc::Dump(CDumpContext& dc) const { CDocument::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CExpertDoc commands // ExpertView.h : interface of the CExpertView class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_EXPERTVIEW_H__F308E8A4_E397_4E4F_BC14_CE696620EE36__INCLUDED_) #define AFX_EXPERTVIEW_H__F308E8A4_E397_4E4F_BC14_CE696620EE36__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CExpertView : public CFormView { protected: // create from serialization only CExpertView(); DECLARE_DYNCREATE(CExpertView) public: //{{AFX_DATA(CExpertView) enum { IDD = IDD_EXPERT_FORM }; CSpinButtonCtrl m_Spin3; CSpinButtonCtrl m_Spin2; CSpinButtonCtrl m_Spin1; int m_nIndex1; int m_nIndex2; int m_nIndex3; CString m_szValue1; CString m_szValue2; CString m_szValue3; BOOL m_bAnswer; //}}AFX_DATA // Attributes public: CExpertDoc* GetDocument(); // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CExpertView) public: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support virtual void OnInitialUpdate(); // called first time after construct //}}AFX_VIRTUAL // Implementation public: virtual ~CExpertView(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: // Generated message map functions protected: //{{AFX_MSG(CExpertView) afx_msg void OnChangeValue1(); afx_msg void OnChangeIndex1(); afx_msg void OnChangeIndex2(); afx_msg void OnChangeIndex3(); afx_msg void OnAnswer(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; #ifndef _DEBUG // debug version in ExpertView.cpp inline CExpertDoc* CExpertView::GetDocument() { return (CExpertDoc*)m_pDocument; } #endif ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_EXPERTVIEW_H__F308E8A4_E397_4E4F_BC14_CE696620EE36__INCLUDED_) // ExpertView.cpp : implementation of the CExpertView class // #include "stdafx.h" #include "Expert.h" #include "ExpertDoc.h" #include "ExpertView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CExpertView IMPLEMENT_DYNCREATE(CExpertView, CFormView) BEGIN_MESSAGE_MAP(CExpertView, CFormView) //{{AFX_MSG_MAP(CExpertView) ON_EN_CHANGE(IDC_VALUE1, OnChangeValue1) ON_EN_CHANGE(IDC_INDEX1, OnChangeIndex1) ON_EN_CHANGE(IDC_INDEX2, OnChangeIndex2) ON_EN_CHANGE(IDC_INDEX3, OnChangeIndex3) ON_BN_CLICKED(IDC_ANSWER, OnAnswer) //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CExpertView construction/destruction CExpertView::CExpertView() : CFormView(CExpertView::IDD) { //{{AFX_DATA_INIT(CExpertView) m_nIndex1 = 1; m_nIndex2 = 0; m_nIndex3 = 0; m_szValue1 = _T(""); m_szValue2 = _T(""); m_szValue3 = _T(""); m_bAnswer = FALSE; //}}AFX_DATA_INIT // TODO: add construction code here } CExpertView::~CExpertView() { } void CExpertView::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CExpertView) DDX_Control(pDX, IDC_SPIN3, m_Spin3); DDX_Control(pDX, IDC_SPIN2, m_Spin2); DDX_Control(pDX, IDC_SPIN1, m_Spin1); DDX_Text(pDX, IDC_INDEX1, m_nIndex1); DDX_Text(pDX, IDC_INDEX2, m_nIndex2); DDX_Text(pDX, IDC_INDEX3, m_nIndex3); DDX_Text(pDX, IDC_VALUE1, m_szValue1); DDX_Text(pDX, IDC_VALUE2, m_szValue2); DDX_Text(pDX, IDC_VALUE3, m_szValue3); DDX_Check(pDX, IDC_ANSWER, m_bAnswer); //}}AFX_DATA_MAP } BOOL CExpertView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CFormView::PreCreateWindow(cs); } void CExpertView::OnInitialUpdate() { CFormView::OnInitialUpdate(); m_Spin1.SetRange(1, 2000); m_Spin2.SetRange(0, 2000); m_Spin3.SetRange(0, 2000); CExpertDoc *pDoc = GetDocument(); m_nIndex2 = pDoc->vElem[m_nIndex1 - 1].yes + 1; m_nIndex3 = pDoc->vElem[m_nIndex1 - 1].no + 1; m_szValue1 = pDoc->vElem[m_nIndex1 - 1].value; m_bAnswer = pDoc->vElem[m_nIndex1 - 1].answer; if(m_nIndex2 > 0) { if(pDoc->vElem.size() < m_nIndex2) m_szValue2 = "=v "; else m_szValue2 = pDoc->vElem[m_nIndex2 - 1].value; } else m_szValue2.Empty(); if(m_nIndex3 > 0) { if(pDoc->vElem.size() < m_nIndex3) m_szValue3 = "=v "; else m_szValue3 = pDoc->vElem[m_nIndex3 - 1].value; } else m_szValue3.Empty(); UpdateData(FALSE); } ///////////////////////////////////////////////////////////////////////////// // CExpertView diagnostics #ifdef _DEBUG void CExpertView::AssertValid() const { CFormView::AssertValid(); } void CExpertView::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } CExpertDoc* CExpertView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CExpertDoc))); return (CExpertDoc*)m_pDocument; } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CExpertView message handlers void CExpertView::OnChangeValue1() { CExpertDoc *pDoc = GetDocument(); if(pDoc == NULL || !IsWindowVisible()) return; UpdateData(); if(pDoc->vElem.size() < m_nIndex1) pDoc->vElem.resize(m_nIndex1); pDoc->vElem[m_nIndex1 - 1].value = m_szValue1; pDoc->vElem[m_nIndex1 - 1].yes = m_nIndex2 - 1; pDoc->vElem[m_nIndex1 - 1].no = m_nIndex3 - 1; pDoc->vElem[m_nIndex1 - 1].answer = m_bAnswer; pDoc->SetModifiedFlag(); } void CExpertView::OnChangeIndex1() { CExpertDoc *pDoc = GetDocument(); if(pDoc == NULL || !IsWindowVisible()) return; UpdateData(); if(m_nIndex1<1) return; if(pDoc->vElem.size() < m_nIndex1) { m_nIndex2 = 0; m_nIndex3 = 0; m_szValue1 = "=v "; m_bAnswer = FALSE; } else { m_nIndex2 = pDoc->vElem[m_nIndex1 - 1].yes + 1; m_nIndex3 = pDoc->vElem[m_nIndex1 - 1].no + 1; m_szValue1 = pDoc->vElem[m_nIndex1 - 1].value; m_bAnswer = pDoc->vElem[m_nIndex1 - 1].answer; } if(m_nIndex2 > 0) { if(pDoc->vElem.size() < m_nIndex2) m_szValue2 = "=v "; else m_szValue2 = pDoc->vElem[m_nIndex2 - 1].value; } else m_szValue2.Empty(); if(m_nIndex3 > 0) { if(pDoc->vElem.size() < m_nIndex3) m_szValue3 = "=v "; else m_szValue3 = pDoc->vElem[m_nIndex3 - 1].value; } else m_szValue3.Empty(); UpdateData(FALSE); } void CExpertView::OnChangeIndex2() { CExpertDoc *pDoc = GetDocument(); if(pDoc == NULL || !IsWindowVisible()) return; OnChangeValue1(); if(m_nIndex2 > 0) { if(pDoc->vElem.size() < m_nIndex2) m_szValue2 = "=v "; else m_szValue2 = pDoc->vElem[m_nIndex2 - 1].value; } else m_szValue2.Empty(); UpdateData(FALSE); } void CExpertView::OnChangeIndex3() { CExpertDoc *pDoc = GetDocument(); if(pDoc == NULL || !IsWindowVisible()) return; OnChangeValue1(); if(m_nIndex3 > 0) { if(pDoc->vElem.size() < m_nIndex3) m_szValue3 = "=v "; else m_szValue3 = pDoc->vElem[m_nIndex3 - 1].value; } else m_szValue3.Empty(); UpdateData(FALSE); } void CExpertView::OnAnswer() { OnChangeValue1(); } #if !defined(AFX_TESTVIEW_H__CF9B27C0_EB68_45B3_93B4_318133213600__INCLUDED_) #define AFX_TESTVIEW_H__CF9B27C0_EB68_45B3_93B4_318133213600__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // TestView.h : header file // ///////////////////////////////////////////////////////////////////////////// // CTestView form view #ifndef __AFXEXT_H__ #include #endif #include "ExpertDoc.h" class CTestView : public CFormView { protected: CTestView(); // protected constructor used by dynamic creation DECLARE_DYNCREATE(CTestView) // Form Data public: //{{AFX_DATA(CTestView) enum { IDD = IDD_TEST_FORM }; CButton m_BtnNo; CButton m_BtnYes; CString m_szValue; CString m_szLabel; //}}AFX_DATA // Attributes public: int nIndex; // Operations public: void UpdateValue(); inline CExpertDoc* CTestView::GetDocument() { return (CExpertDoc*)m_pDocument; } // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CTestView) public: virtual void OnInitialUpdate(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: virtual ~CTestView(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions //{{AFX_MSG(CTestView) afx_msg void OnBtnYes(); afx_msg void OnBtnNo(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_TESTVIEW_H__CF9B27C0_EB68_45B3_93B4_318133213600__INCLUDED_) // TestView.cpp : implementation file // #include "stdafx.h" #include "Expert.h" #include "TestView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CTestView IMPLEMENT_DYNCREATE(CTestView, CFormView) CTestView::CTestView() : CFormView(CTestView::IDD) { //{{AFX_DATA_INIT(CTestView) m_szValue = _T(""); m_szLabel = _T(""); //}}AFX_DATA_INIT } CTestView::~CTestView() { } void CTestView::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTestView) DDX_Control(pDX, IDC_BTN_NO, m_BtnNo); DDX_Control(pDX, IDC_BTN_YES, m_BtnYes); DDX_Text(pDX, IDC_VALUE, m_szValue); DDX_Text(pDX, IDC_STATIC1, m_szLabel); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CTestView, CFormView) //{{AFX_MSG_MAP(CTestView) ON_BN_CLICKED(IDC_BTN_YES, OnBtnYes) ON_BN_CLICKED(IDC_BTN_NO, OnBtnNo) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTestView diagnostics #ifdef _DEBUG void CTestView::AssertValid() const { CFormView::AssertValid(); } void CTestView::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CTestView message handlers void CTestView::OnInitialUpdate() { CFormView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class nIndex = 0; m_szLabel = "T"; UpdateValue(); } void CTestView::OnBtnYes() { nIndex = GetDocument()->vElem[nIndex].yes; UpdateValue(); } void CTestView::UpdateValue() { if(!GetDocument()->vElem[nIndex].yes) return; m_szValue = GetDocument()->vElem[nIndex].value; if(GetDocument()->vElem[nIndex].answer) { m_szLabel = "v"; m_BtnYes.EnableWindow(FALSE); m_BtnNo.EnableWindow(FALSE); } UpdateData(FALSE); } void CTestView::OnBtnNo() { nIndex = GetDocument()->vElem[nIndex].no; UpdateValue(); } // ChildFrm.h : interface of the CChildFrame class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_CHILDFRM_H__7E05287F_8F30_4F00_82D2_F5C1CBF0942D__INCLUDED_) #define AFX_CHILDFRM_H__7E05287F_8F30_4F00_82D2_F5C1CBF0942D__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CChildFrame : public CMDIChildWnd { DECLARE_DYNCREATE(CChildFrame) public: CChildFrame(); // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CChildFrame) virtual BOOL PreCreateWindow(CREATESTRUCT& cs); //}}AFX_VIRTUAL // Implementation public: virtual ~CChildFrame(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions protected: //{{AFX_MSG(CChildFrame) // NOTE - the ClassWizard will add and remove member functions here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_CHILDFRM_H__7E05287F_8F30_4F00_82D2_F5C1CBF0942D__INCLUDED_) // ChildFrm.cpp : implementation of the CChildFrame class // #include "stdafx.h" #include "Expert.h" #include "ChildFrm.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CChildFrame IMPLEMENT_DYNCREATE(CChildFrame, CMDIChildWnd) BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd) //{{AFX_MSG_MAP(CChildFrame) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code ! //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CChildFrame construction/destruction CChildFrame::CChildFrame() { // TODO: add member initialization code here } CChildFrame::~CChildFrame() { } BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.cx = 492; cs.cy = 440; if( !CMDIChildWnd::PreCreateWindow(cs) ) return FALSE; return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CChildFrame diagnostics #ifdef _DEBUG void CChildFrame::AssertValid() const { CMDIChildWnd::AssertValid(); } void CChildFrame::Dump(CDumpContext& dc) const { CMDIChildWnd::Dump(dc); } #endif //_DEBUG
// CChildFrame message handlers #if !defined(AFX_TESTVIEW_H__CF9B27C0_EB68_45B3_93B4_318133213600__INCLUDED_) #define AFX_TESTVIEW_H__CF9B27C0_EB68_45B3_93B4_318133213600__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // TestView.h : header file // ///////////////////////////////////////////////////////////////////////////// // CTestView form view #ifndef __AFXEXT_H__ #include#endif #include "ExpertDoc.h" class CTestView : public CFormView { protected: CTestView(); // protected constructor used by dynamic creation DECLARE_DYNCREATE(CTestView) // Form Data public: //{{AFX_DATA(CTestView) enum { IDD = IDD_TEST_FORM }; CButton m_BtnNo; CButton m_BtnYes; CString m_szValue; CString m_szLabel; //}}AFX_DATA // Attributes public: int nIndex; // Operations public: void UpdateValue(); inline CExpertDoc* CTestView::GetDocument() { return (CExpertDoc*)m_pDocument; } // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CTestView) public: virtual void OnInitialUpdate(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: virtual ~CTestView(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions //{{AFX_MSG(CTestView) afx_msg void OnBtnYes(); afx_msg void OnBtnNo(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_TESTVIEW_H__CF9B27C0_EB68_45B3_93B4_318133213600__INCLUDED_) // TestFrame.cpp : implementation file // #include "stdafx.h" #include "Expert.h" #include "TestFrame.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CTestFrame IMPLEMENT_DYNCREATE(CTestFrame, CMDIChildWnd) CTestFrame::CTestFrame() { } CTestFrame::~CTestFrame() { } BEGIN_MESSAGE_MAP(CTestFrame, CMDIChildWnd) //{{AFX_MSG_MAP(CTestFrame) // NOTE - the ClassWizard will add and remove mapping macros here. //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTestFrame message handlers BOOL CTestFrame::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Add your specialized code here and/or call the base class cs.cx = 492; cs.cy = 205; return CMDIChildWnd::PreCreateWindow(cs); } // stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #if !defined(AFX_STDAFX_H__C53AEF46_9141_4A64_99BD_2CEA04514C1A__INCLUDED_) #define AFX_STDAFX_H__C53AEF46_9141_4A64_99BD_2CEA04514C1A__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include // MFC core and standard components #include // MFC extensions #include // MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__C53AEF46_9141_4A64_99BD_2CEA04514C1A__INCLUDED_) // stdafx.cpp : source file that includes just the standard includes // Expert.pch will be the pre-compiled header // stdafx.obj will contain the pre-compiled type information #include "stdafx.h"
10.11.2021 - 12:37: - Personalias -> WHO IS WHO - - _. 10.11.2021 - 12:36: - Conscience -> . ? - _. 10.11.2021 - 12:36: , , - Upbringing, Inlightening, Education -> ... - _. 10.11.2021 - 12:35: - Ecology -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> . - _. 10.11.2021 - 12:34: , , - Upbringing, Inlightening, Education -> , - _. 10.11.2021 - 09:18: - New Technologies -> , 5G- - _. 10.11.2021 - 09:18: - Ecology -> - _. 10.11.2021 - 09:16: - Ecology -> - _. 10.11.2021 - 09:15: , , - Upbringing, Inlightening, Education -> - _. 10.11.2021 - 09:13: , , - Upbringing, Inlightening, Education -> - _. |