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

 

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

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

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 112 113 114 115 116 117 < 118 > 119 120 121 122 123 124 .. 204 >> Следующая

};
tifndef _DEBUG // отладочная версия находится в файле MiniDrVw.cpp inline CMiniDrawDoc* CMiniDrawView::GetDocument()
( return (CMiniDrawDoc*)m_pDocument; } #endif
1111111111111111111111111111111111111111111111111111111111111111 //{{AFX_INSERT_LOCATION)}
// Visual С++ вставит дополнительные объявления // сразу перед предыдущей строкой
#endif
// !defined(
// AFX_MINIDRAWVIEW_H_11E8392C_999A_11D1_80FC_00C0F6A83B7F_INCLUDEDJ
Листинг 12.8
// MiniDrawView.cpp : реализация класса CMiniDrawView //
#include "stdafx.h"
linclude "MiniDraw.h"
linclude "MiniDrawDoc.h" linclude "MiniDrawView.h"
#ifdef _DEBUG ¦define new DEBUG_NEW lundef THIS_FILE
static char THIS_FILE[] = _FILE_;
#endif
1111111111111111111111111111111111111111111111111111111111111111 II Класс CMiniDrawView
IMPLEMENT_DYNCREATE(CMiniDrawView, CView)
BEGIN_MES SAGE_MAP(CMiniDrawView, CView)
//((AFX_MSG_MAP(CMiniDrawView)
ON_WM_LBUTTONDOWN()
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONUP()
//))AFX_MSG_MAP END_MESSAGE_MAP()
lllllllllllllllllllllllllllllllllllllllll/lll/llllll/l/llllll/ll II Конструктор/деструктор класса CMiniDrawView
CMiniDrawView::CMiniDrawView() {
// TODO: Здесь добавьте код конструктора m_Dragging « 0;
m_HCross = AfxGetApp ()->LoadStandardCursor (IDC_CROSS);
}
CMiniDrawView::-CMiniDrawView()
{
)
BOOL CMiniDrawView::PreCreateWindow(CREATESTRUCT& cs) (
// TODO: Здесь модифицируйте класс или стиль окна, // изменяя поля структуры cs
m_ClassName = AfxRegisterWndClass (CS_HREDRAW I CS_VREDRAW, 0,
(HBRUSH)::GetStockObject (WHITE_BRUSH), 0) ;
cs.lpszClass = m_ClassName;
return CView::PreCreateWindow(cs) ; )
// стили окна;
// без указателя;
// задание чисто
// белого фона;
// без значка
1111111111111111111111111111111111111111111111111111111111111111
// Отображение окна класса CMiniDrawView
void CMiniDrawView::OnDraw(CDC* pDC) {
CMiniDrawDoc* pDoc = GetDocument(); AS SERT_VALID(pDoc);
// TODO: Здесь добавьте код отображения собственных данных
int Index = pDoc->GetNumLines ( ) ; while (Index—)
pDoc->GetLine (Index)->Draw (pDC);
)
1111111111111111111111 /1111111 II 1111111111111111111111111111111 II Диагностика класса CMiniDrawView
#ifdef _DEBUG
void CMiniDrawView::AssertValid() const {
CView::AssertValid();
}
void CMiniDrawView:: Dump(CDumpContextS dc) const {
CView:: Dump(dc);
)
CMiniDrawDoc* CMiniDrawView: .-GetDocument ( )
II не отладочная версия является встроенной
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMiniDrawDoc))); return (CMiniDrawDoc*)m_pDocument;
)
#endif //_DEBUG
111111111111111111111111111111111111111111111111111111111111111 II Обработчики сообщений класса CMiniDrawView
void CMiniDrawView: :OnLButtonDown(UINT nFlags, CPoint point) (
// TODO: Здесь добавьте собственный код обработчика // и/или вызов стандартного обработчика
m_PointOrigin = point; m_Point01d = point; SetCapture (); m_Dragging = 1;
RECT Rect;
GetClientRect (SRect); ClientToScreen (sRect); ::ClipCursor (SRect);
CView: -.OnLButtonDown(nFlags, point) ;
)
void CMiniDrawView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Здесь добавьте собственный код обработчика // и/или вызов стандартного обработчика
::SetCursor (m_HCross);
if (m_Dragging) (
CClientDC ClientDC (this); ClientDC.SetR0P2 (R2_N0T) ; ClientDC.MoveTo (m_PointOrigin) ; ClientDC.LineTo (m_Point01d) ; ClientDC.MoveTo (m_PointOrigin) ; ClientDC.LineTo (point); m_Point01d = point; }
CView::OnMouseMove(nFlags, point);
)
void CMiniDrawView::OnLButtonUp(UINT nFlags, CPoint point) {
// TODO: Здесь добавьте собственный код обработчика /7 и/или вызов стандартного обработчика
if (m_Dragging) <
m_Dragging = 0; ::ReleaseCapture (); ::ClipCursor (NULL); CClientDC ClientDC (this); ClientDC.SetR0P2 (R2_N0T) ; ClientDC.MoveTo (m_Point0rigin) ; ClientDC.LineTo (m_Point01d) ; ClientDC.SetR0P2 (R2_C0PYPEN) ; ClientDC.MoveTo (m_PointOrigin); ClientDC.LineTo (point);
CMiniDrawDoc* PDoc = GetDocument(); PDoc->AddLine (m_PointOrigin.x, m_PointOrigin.y,
point.x, point.y);
)
CView::OnLButtonUp(nFlags, point);
}
Добавление средств ввода-вывода в программу MiniEdit_
В этом параграфе в программу MiniEdit будут встроены средства ввода-вывода файлов. В меню File добавятся команды New, Open..., Save, Save As... и Recent File и будет написан код, необходимый для их реализации.
Нам придется изменить исходные файлы, созданные в гл. 10. Копию этих файлов можно получить из каталога \MiniEdtl прилагаемого компакт-диска.
Определение ресурсов
После открытия проекта Mini Edit в Developer Studio выберите вкладку Resource View окна Workspace для отображения графа ресурсов программы.
Откройте редактор меню, выполнив двойной щелчок на идентификаторе IDRMAINFRAME в разделе Menu. Используйте редактор меню, как было описано ранее, чтобы добавить в меню File следующие команды: New, Open..., Save и Save As... над существующей командой Print.
Затем под командой Print... добавьте разделитель и команду Recent File. В табл. 12.2 перечислены идентификаторы, надписи и другие свойства, которые выбираются для каждого из добавляемых пунктов меню. На рис. 12.4 показано завершенное меню File, появляющееся в окне редактора меню.
Предыдущая << 1 .. 112 113 114 115 116 117 < 118 > 119 120 121 122 123 124 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100