Реферат: Создание приложений с использованием различных элементов
Название: Создание приложений с использованием различных элементов Раздел: Рефераты по информатике Тип: реферат |
ЛАБОРАТОРНАЯ РАБОТА № 4- 5Создание приложений с использованием различных элементовЦель . Практическое освоение навыков создания Windows - приложений, визуальное проектирование диалоговых панелей, однооконных и многооконных приложений,связывание элементов управления с событиями. Программное обеспечение . ОС Windows; Visual C++ Оборудование. ПЭВМ IBM .
Порядок выполнения работы. 1. Создать проект программы. 2. Визуально спроектировать диалоговую панель. 3. Связать элементы управления с событиями. 4. Разработать отладочные тесты. 5. Загрузить систему программирования . 6. Создать программный модуль и запустить его на выполнение. 7. Выполнить отладку и получить результаты счета. 8. Оформить отчет, защитить лабораторную работу по контрольным вопросам и сдать преподавателю.
Содержание отчета. 1. Тема, цель и оборудование работы. 2. Индивидуальное задание. 3. Ход выполнения задания. 4. Исходные данные и протокол выполнения работы. 5. Выводы. Индивидуальные задания к лабораторной работе № 5. Создать многооконное приложение в меню которого содержится пункт «ВЫЧИСЛЕНИЯ» и соответствующая кнопка на панели инструментов. При их выборе на экране должно появляться диалоговое окно, где согласно варианта задания по вводимых данным. Осуществляется расчет. Выбор расчета оргаанизовать с помощью кнопок или переключателей. Вариант 5
1. Сумму элементов больших заданного числа; 2. Произведение положительных элементов
Код программы // MainFrm.cpp : implementation of the CMainFrame class //
#include "stdafx.h" #include "L4_5.h"
#include "MainFrm.h" #include "D.h"
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif
///////////////////////////////////////////////////////////////////////////// // CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_COMMAND(ID_BUTTON32771, OnButton32771) //}}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 (CFrameWnd::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( !CFrameWnd::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 { CFrameWnd::AssertValid(); }
void CMainFrame::Dump(CDumpContext& dc) const { CFrameWnd::Dump(dc); }
#endif //_DEBUG
///////////////////////////////////////////////////////////////////////////// // CMainFrame message handlers
void CMainFrame::OnButton32771() { CD dial; dial.DoModal(); }
// D.cpp : implementation file //
#include "stdafx.h" #include "L4_5.h" #include "D.h" #include "fstream.h"
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif
///////////////////////////////////////////////////////////////////////////// // CD dialog
CD::CD(CWnd* pParent /*=NULL*/) : CDialog(CD::IDD, pParent) { //{{AFX_DATA_INIT(CD) m_1 = 0; m_2 = 0; m_sl = 0; m_p = 0; //}}AFX_DATA_INIT }
void CD::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CD) DDX_Control(pDX, IDC_EDIT1, m_Edit); DDX_Text(pDX, IDC_EDIT1, m_1); DDX_Control(pDX, IDC_MSFLEXGRID1, m_GRID); DDX_Text(pDX, IDC_EDIT2, m_2); DDX_Text(pDX, IDC_EDIT3, m_sl); DDX_Text(pDX, IDC_EDIT4, m_p); //}}AFX_DATA_MAP }
BEGIN_MESSAGE_MAP(CD, CDialog) //{{AFX_MSG_MAP(CD) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_BN_CLICKED(IDC_BUTTON4, OnButton4) //}}AFX_MSG_MAP END_MESSAGE_MAP() int s,p=1;
///////////////////////////////////////////////////////////////////////////// // CD message handlers
void CD::OnButton1() { UpdateData(); int c=m_1; UpdateData(FALSE); ofstream f("dat.txt",ios::app); f<<c<<endl; int sl=m_sl; if (c>sl) { s+=c; } if(c>0) { p=p*c; } m_Edit.SetFocus();
}
void CD::OnButton2() { ofstream vs("vspom.txt"); vs<<s; ofstream vs1("vspom1.txt"); vs1<<p;
m_GRID.SetColWidth(0,1000); m_GRID.SetColWidth(1,1000); m_GRID.SetColWidth(2,1000); m_GRID.SetColWidth(3,1000); m_GRID.SetRow(0); m_GRID.SetCol(0); m_GRID.SetText("1 столбец "); m_GRID.SetCol(1); m_GRID.SetText("2 столбец"); m_GRID.SetCol(2); m_GRID.SetText("3 столбец "); m_GRID.SetCol(3); m_GRID.SetText("4 столбец "); m_GRID.SetRow(1); UpdateData(); char str[15] ; int i; ifstream ff("dat.txt"); i=0; while (!ff.eof()) { i=i+1; for(int j=0;j<=3;j++) { m_GRID.SetCol(j); m_GRID.SetRow(i); ff.getline(str, sizeof(str)) ; m_GRID.SetText(str); } }
}
void CD::OnButton3() { ifstream vs("vspom.txt"); vs>>s; UpdateData(); m_2=s; UpdateData(FALSE);
}
void CD::OnButton4() { ifstream vs1("vspom1.txt"); vs1>>p; UpdateData(); m_p=p; UpdateData(FALSE); } Протокол выполнения программы:
Вывод: Во время выполнения данной лабораторной работы я освоил навыки создания Windows -приложений, визуального проектирования диалоговых панелей, однооконных и многооконных приложений, связывания элементов управления с событиями. |