Розробка програми для Windows засобами бібліотеки OWL (Object Windows Library

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2006
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Інші
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „ Львівська політехніка “ Кафедра ІСМ  Звіт про виконання лабораторної роботи № 8 з курсу „Технології проектування програмних систем” на тему: «Розробка програми для Windows засобами бібліотеки OWL (Object Windows Library)» Львів-2006 Мета роботи: вивчення структури програми для Windows, побудованої на основі класів бібліотеки MFC. Завдання для роботи Розробити базову діалогову MFC-програму на мові С++ для Windows. Модифікувати базову програму, реалізувавши можливість опрацювання повідомлень. Програма та результати її виконання // Lab8.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "Lab8.h" #include "MainFrm.h" #include "Lab8Doc.h" #include "Lab8View.h" #include "q.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CLab8App BEGIN_MESSAGE_MAP(CLab8App, CWinApp) //{{AFX_MSG_MAP(CLab8App) 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) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CLab8App construction CLab8App::CLab8App() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CLab8App object CLab8App theApp; ///////////////////////////////////////////////////////////////////////////// // CLab8App initialization BOOL CLab8App::InitInstance() { { // BLOCK: doc template registration // Register the document template. Document templates serve // as the connection between documents, frame windows and views. // Attach this form to another document or frame window by changing // the document or frame class in the constructor below. CSingleDocTemplate* pNewDocTemplate = new CSingleDocTemplate( IDR_Q_TMPL, RUNTIME_CLASS(CLab8Doc), // document class RUNTIME_CLASS(CMainFrame), // frame class RUNTIME_CLASS(q)); // view class AddDocTemplate(pNewDocTemplate); } AfxEnableControlContainer(); // 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(0); // 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. CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CLab8Doc), RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(CLab8View)); AddDocTemplate(pDocTemplate); // Parse command line for standard shell commands, DDE, file open CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); // Dispatch commands specified on the command line if (!ProcessShellCommand(cmdInfo)) return FALSE; // The one and only window has been initialized, so show and update it. m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->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 CLab8App::OnAppAbout() { CAboutDlg aboutDlg; aboutDlg.DoModal(); } // q.cpp : implementation file // #include "stdafx.h" #include "Lab8.h" #include "q.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // q IMPLEMENT_DYNCREATE(q, CFormView) q::q() : CFormView(q::IDD) { //{{AFX_DATA_INIT(q) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } q::~q() { } void q::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(q) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(q, CFormView) //{{AFX_MSG_MAP(q) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_WM_RBUTTONDOWN() ON_WM_LBUTTONDOWN() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // q diagnostics #ifdef _DEBUG void q::AssertValid() const { CFormView::AssertValid(); } void q::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // q message handlers void q::OnButton1() { // TODO: Add your control notification handler code here MessageBox("You clicked OK", "OK Message", MB_OK); } void q::OnButton2() { // TODO: Add your control notification handler code here MessageBox("You clicked Cancel", "Message", MB_OK); } void q::OnRButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CFormView::OnRButtonDown(nFlags, point); MessageBox("You clicked right mouse button", "Message", MB_OK); } void q::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CFormView::OnLButtonDown(nFlags, point); MessageBox("You clicked leftt mouse button", "Message", MB_OK); } }  Рис.1. Вигляд вікна програми після виконання  Рис.2. Вікно довідки   Рис.3. Вікна повідомлень Висновки Під час виконання програми я вивчив структуру програми для Windows, побудованої на основі класів бібліотеки MFC, та навчився будувати програму такого типу.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!