Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том2)" -> 149

Visual С++ 6. Полное руководство: В 2 т.(том2) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том2) — Бином, 2006. — 530 c.
Скачать (прямая ссылка): vicualcc2006t2.djvu
Предыдущая << 1 .. 143 144 145 146 147 148 < 149 > 150 151 152 153 154 155 .. 173 >> Следующая

if (!CFrameWnd::PreCreateWindow(cs) )
return FALSE; // TODO: Здесь модифицируйте класс или стиль окна, // изменяя поля структуры cs
return TRUE;
}
1111111 /11 /111111111111111111111111111111111111111111111111111111111111 II Диагностика класса CMainFrame
#ifdef _DEBUG
void CMainFrame::AssertValid() const {
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContextS dc) const {
CFrameWnd::Dump(dc);
)
#endif //_DEBUG
I /11111111111111111111111111111 /111111111 /111111111/1111111111111111111
II обработчики сообщений класса CMainFrame
Листинг 24.7.
// ServDemoView.h : интерфейс класса CServDemoView
//
111111111111111 /1111111111111111111111111111111111111111111111111111111 #if (defined(
AFX_SERVDEMOVIEW_H_03A2EC8E_ABBE_11D1_80FC_00C0F6A83B7F_INCLUDEDJ
#define
AFX_SERVDEMOVIEW_H_03A2EC8E_ABBE_llDl_80FC_00C0F6A83B7F_INCLUDED_
#if _MSC_VER > 1000 #pragma once
#endif II _MSC_VER > 1000
class CServDemoView : public CView (
protected:
CString m_ClassName; int m_Dragging; HCURSOR m_HCross; CPoint m_Point01d; CPoint m_PointOrigin;
protected: // используются при сериализации CServDemoView(); DECLARE_DYNCREATE(CServDemoView)
// Атрибуты
public:
CServDemoDoc* GetDocument();
// Операции public:
// Переопределения
// Переопределения виртуальных функций, // сгенерированные мастером ClassWizard // {{AFX_VIRTUAL(CServDemoView) public:
virtual void OnDraw(CDC* pDC); // переопределено для отображения
// окна представления virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected: //}}AFX_VIRTUAL
// Реализация public:
virtual -CServDemoView(); #ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext.& dc) const; #endif
protected:
// Сгенерированные функции схемы обработки сообщений protected:
//{{AFX_MSG(CServDemoView)
afx_msg void OnCancelEditSrvr();
afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); //})AFX_MSG DECLARE_MESSAGE_MAP()
ь-
lifndef _DEBUG // отладочная версия находится в файле ServDemoView.срр inline CServDemoDoc* CServDemoView::GetDocument()
( return (CServDemoDoc*)m_pDocument; } #endif
I! 11II111111ПII f f IШПI f/IIII/II /1//11 /11 if 1111111 i 111111111111 IN 11! Ill(AFX_INSERT_LOCATION|}
// Visual С++ вставит дополнительные объявления
// сразу перед предыдущей строкой
#endif
// !defined!
// AFX SERVDEMOVIEW H 03A2EC8E ABBE 11D1 80FC 00C0F6A83B7F INCLUDED__)
Листинг 24.8.
// ServDemoView.cpp : реализация класса CServDerooView
//
#include "stdafx.h" #include "ServDemo.h"
iinclude "ServDemoDoc.h" #include "ServDemoView.h"
#ifdef _DEBUG #define new DEBUG_NEW ttundef THIS_FILE
static char THIS_FILE[] = _FILE__;
#endif
11111111111111111111111111111111111111111111111111111111111111111111111 II Класс CServDemoView
T.MPLEMENT_DYNCREATE (CServDemoView, CView)
BEGIN_MESSAGE_MAP(CServDemoView, CView) //{(AFX_MSG MAP(CServDemoView)
ON__COMMAND(ID_CANCEL_EDIT_SRVR, OnCancelEditSrvr) ON_WM_LBUTTONDOWN() ON_WM_MOUSEMOVE() ON_WM_ LBUTTONUP() //})AFX_MSG_MAP END_MESSAGE_MAP()
I///III/IIIIII/III/IIIIIIIIIIIIIIIII/II/IIIII///II///IIIIIIIIIIIIIIIIII II Конструктор/деструктор класса CServDemoView
CServDemoView::CServDemoView()
{
// TODO: Здесь добавьте код конструктора
m_Dragging = 0;
m_HCross = AfxGetApp ()->LoadStandardCursor (IDC_CROSS);
)
CServDemoView::-CServDemoView()
BOOL CServDemoView::PreCreateWindow(CREATESTRUCT& cs) f
// TODO: Модифицируйте класс окна или стиль окна, // изменяя поля структуры cs
m_ClassName = AfxRegisterWndClass (CS_HREDRAW | CS_VREDRAW, О,
(HBROSH) ::GetStockObject (WHITE_BRUSH) , 0) ;
cs.lpszClass = m_ClassName; return CView::PreCreateWindow(cs);
}
1111II111II11111 III IIIII1111111111111IIII11II1111111111111111111111111 II Отображение с помощью класса CServDemoView
void CServDemoView::OnDraw(CDC* pDC) {
CServDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);
// TODO: Здесь добавьте код отображения собственных данных
int Index = pDoc->GetNumLines (); while (Index—)
pDoc->GetLine (Index)->Draw (pDC);
pDoc->OpdateAHItems (0) ;
1
111111111111111111111111111111111111111111111 /1111111111111111111111111 II Поддержка OLE-сервера
// Обработчик сообщения предоставляет стандартный интерфейс
// клавиатуры для прерывания редактирования на месте.
// Здесь сервер (а не контейнер) осуществляет деактивацию
void CServDemoView::OnCancelEditSrvr(}
(
GetDocument()->OnDeactivateUI(FALSE);
}
11111111111111111111111111111111111111111111111111111111111111111111111 II Диагностика класса CServDemoView
#ifdef _DEBUG
void CServDemoView::AssertValid() const {
// стили класса
// без указателя;
// задать чисто
// белый фон;
// без значка
CView::AssertValid();
}
void CServDemoView:: Dump(CDumpContextS dc) const {
CView: : Dump(dc);
}
CServDemoDoc* CServDemoView::GetDocument() // неотладочная версия
// является встроенной
(
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CServDemoDoc))); return (CServDemoDoc*)m_pDocument;
Предыдущая << 1 .. 143 144 145 146 147 148 < 149 > 150 151 152 153 154 155 .. 173 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100