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

 

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

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

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

(
#endif //_DEBUG
111111/111111III III / Il 111II11III III 11III/II111111II11111II III II II/I 11 Обработчики сообщений класса CServDemoView
void CServDemoView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Здесь добавьте собственный код обработчика // и/или вызов стандартного обработчика
m_PointOrigin = point; m_Point01d = point; SetCapture (); m_Dragging = 1;
RECT Rect;
GetClientRect (SRect); ClientToScreen (&Rect); : :ClipCursor (SRect);
CView::OnLButtonDown(nFlags, point);
)
void CServDemoView::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 (mJPointOld) ; ClientDC.MoveTo (m_PointOrigin); ClientDC.LineTo (point); m_Point01d = point; }
CView::OnMouseMove(nFlags, point);
)
void CServDemoView::OnLButtonUp(UINT nFlags, CPoint point) (
// TODO: Здесь добавьте собственный код обработчика // и/или вызов стандартного обработчика
if (m_Dragging) {
m_Dragging = 0;
::ReleaseCapture ();
::ClipCursor (NULL); CClientDC ClientDC (this); ClientDC.SetR0P2 (R2_N0T); ClientDC.MoveTo (m_PointOrigin); ClientDC.LineTo (m_Point01d); ClientDC.SetROP2 (R2_COPYPEN); ClientDC.MoveTo (m_PointOrigin) ; ClientDC.LineTo (point);
CServDemoDoc* PDoc = GetDocument() ; PDoc->AddLine
(m_PointOrigin.x, m_PointOrigin.y, point.x, point.y); PDoc->UpdateAllItems (0); )
CView::0nLButtonUp(nFlags, point);
)
Листинг 24.9.
// IpFrame.h : интерфейс класса CInPlaceFrame //
#if 'defined;
AFX_IPFRAME_H_03A2EC93_ABBE_11D1_80FC_00C0F6A83B7F__INCLUDED_)
#define AFX__IPFRAME_H_03A2EC93_ABBE_11D1_80FC_00C0F6A83B7F__INCLUDED
#if _MSC_VER > 1000 #pragma once
#endif // _MSC_VER > 1000
class CInPlaceFrame : public COlelPFrameWnd {
DECLARE__DYNCREATE (CInPlaceFrame) public:
CInPlaceFrame();
// Атрибуты public:
// Операции pub Iic:
// Переопределения
// Переопределения виртуальных функций, сгенерированные
// мастером ClassWizard
//{(AFX_VIRTUAL(CInPlaceFrame)
virtual BOOL PreCreateWindow(CREATESTRUCT& cs); //(}AFX_VIRTUAL
// Реализация public:
virtual -CInPlaceFrame(); #ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContexts dc) const; #endif
protected:
COleDropTarget m_dropTarget; COleResizeBar m_wndResizeBar;
// Функции, сгенерированные схемой обработки сообщений
protected:
//((AFX_MSG(CInPlaceFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); // ПРИМЕЧАНИЕ - Мастер ClassWizard будет добавлять // и удалять здесь функции-члены класса
// НЕ РЕДАКТИРУЙТЕ текст в этих блоках сгенерированного кода!
//) }AFX_MSG
DECLARE MESSAGE MAP()
ii 11 /11 i 1111 ii 11 и п 111111 inn nun ii u/i 1111 пи in tun/i 1111111111
I/{(AFX_INSERT_LOCATION))
// Visual С++ вставит дополнительные объявления // сразу перед предыдущей строкой
#endif
// !defined!
// AFX__IPFRAME_H_03A2EC93_ABBE_11D1_80FC_00C0F6A83B7F_INCLUDED_)
Листинг 24.10.
// IpFrame.cpp : реализация класса CInPlaceFrame
//
#include "stdafx.h" #include "ServDemo.h"
#include "IpFrame.h"
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = _FILE_;
#endif
111111111111111 III 11111111111111111111111111111111111111111111111111111 II Класс CInPlaceFrame
IMPLEMENT_DYNCREATE(CInPlaceFrame, COlelPFrameWnd)
BEGIN_MESSAGE_MAP(CInPlaceFrame, COlelPFrameWnd)
//{{AFX_MSG_MAP(CInPlaceFrame)
ON_WM_CREATE()
//}}AFX_MSG_MAP END_MESSAGE_MAP()
11111111111111111111111111111111111111111111111111111111111111111111111 II Конструктор/деструктор класса CInPlaceFrame
CInPlaceFrame::CInPlaceFrame()
{
}
CInPlaceFrame::-CInPlaceFrame()
( }
int CInPlaceFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {
if (COlelPFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;
// CResizeBar реализует изменение размера на месте.
if (!m_wndResizeBar.Create(this))
(
TRACEO ("Failed to create resize bar\n") ; return -1; // неудача при создании
}
// Зарегистрируйте место назначения операции "drag-and-drop",
// при которой обрамляющее окно не изменяется. При отпускании это
// предохраняет от "провала" в контейнер, поддерживающий операцию
m_dropTarget.Register(this);
return 0;
)
BOOL CInPlaceFrame::PreCreateWindow(CREATESTRUCT& Cs) {
// TODO: Модифицируйте класс окна или стиль окна,
// изменяя поля структуры CS
return COlelPFrameWnd::PreCreateWindow(cs);
}
11111/1111/1111/11111/1111/1111111111/111111111/1111/111 III 1111/1111/1/ 11 Диагностика класса CInPlaceFrame
#ifdef _DEBUG
void CInPlaceFrame::AssertValid() const t
COlelPFrameWnd::AssertValid();
}
void CInPlaceFrame::Dump(CDumpContexts dc) const (
COlelPFrameWnd::Dump(dc);
}
#endif //_DEBUG
1111111111111111111111111111111111II11111111111111111111111111111111111 II Другие функции класса CInPlaceFrame
Листинг 24.11.
// Srvrltem.h : интерфейс класса CServDemoSrvrltem
//
#if !defined(
Предыдущая << 1 .. 144 145 146 147 148 149 < 150 > 151 152 153 154 155 156 .. 173 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100