SlideShare a Scribd company logo
1 of 26
Click
CPuncte.h
#pragma once
#include <afx.h>
class CPuncte : public CObject
{
public:
CPuncte(CPoint pt);
void Draw(CDC* pDC);
private:
CPoint m_pt;
};
CPuncte.cpp
#include "pch.h"
#include "CPuncte.h"
CPuncte::CPuncte(CPoint pt)
{
m_pt = pt;
}
void CPuncte::Draw(CDC* pDC)
{
pDC->TextOut(m_pt.x, m_pt.y, _T("Click!"));
}
ClickDoc.h
class CClickDoc : public CDocument
{
protected: // create from serialization only
CClickDoc() noexcept;
DECLARE_DYNCREATE(CClickDoc)
// Attributes
public:
CObArray m_puncte;
…………………………….
ClickDoc.h
class CClickDoc : public CDocument
{
……………….
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
CPuncte* AddPuncte(CPoint pt);
……………………
ClickDoc.cpp
……………..
CPuncte* CClickDoc::AddPuncte(CPoint pt)
{
CPuncte* pct = new CPuncte(pt);
m_puncte.Add(pct);
CDocument::SetModifiedFlag();
return pct;
}
………………………….
CClickDoc.h
class CClickDoc : public CDocument
{
……………….
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
CPuncte* AddPuncte(CPoint pt);
int GetPointCount();
CPuncte* GetPunct(int nIndex);
……………………
CClickDoc.cpp
……………..
int CClickDoc::GetPointCount()
{
return m_puncte.GetSize();
}
CPuncte* CClickDoc::GetPunct(int nIndex)
{
return(CPuncte*)m_puncte[nIndex];
}
……………………..
void CClickView::OnLButtonDown(UINT nFlags, CPoint
point)
{
// TODO: Add your message handler code here and/or
call default
CClientDC dc(this);
CPuncte* pPuncte =GetDocument()->AddPuncte(point);
pPuncte->Draw(&dc);
CView::OnLButtonDown(nFlags, point);
CView::OnLButtonDown(nFlags, point);
}
void CClickView::OnDraw(CDC* pDC)
{
CClickDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: add draw code for native data here
int pctCount = pDoc->GetPointCount();
if (pctCount) {
int pctPos;
CPuncte* pct;
for (pctPos = 0; pctPos < pctCount; pctPos++) {
pct = pDoc->GetPunct(pctPos);
pct->Draw(pDC);
}
}
}
ClickDoc.h
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
CPuncte* AddPuncte(CPoint pt);
int GetPointCount();
CPuncte* GetPunct(int nIndex);
void DeleteContents();
ClickDoc.cpp
…………….
void CClickDoc::DeleteContents()
{
int pctCount = m_puncte.GetSize();
int pctPos;
if (pctCount) {
for (pctPos = 0; pctPos < pctCount; pctPos++)
delete m_puncte[pctPos];
m_puncte.RemoveAll();
}
CDocument::DeleteContents();
}
void CClickDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
m_puncte.Serialize(ar);
}
else
{
// TODO: add loading code here
}
}
CPuncte.h
class CPuncte : public CObject
{
public:
CPuncte(CPoint pt);
void Draw(CDC* pDC);
void Serialize(CArchive& ar);
private:
CPoint m_pt;
};
CPuncte.cpp
…………………….
void CPuncte::Serialize(CArchive& ar)
{
CObject::Serialize(ar);
if (ar.IsStoring())
ar << m_pt;
else
ar >> m_pt;
}
CPuncte.h
class CPuncte : public CObject
{
DECLARE_SERIAL(CPuncte);
public:
CPuncte(CPoint pt);
………………………………………
CPuncte.cpp
#include "pch.h"
#include "CPuncte.h"
IMPLEMENT_DYNAMIC(CPuncte, CObject, 1);
CPuncte::CPuncte(CPoint pt)
…………………………………………….

More Related Content

More from Razvan Raducanu, PhD (20)

12. edit record
12. edit record12. edit record
12. edit record
 
11. delete record
11. delete record11. delete record
11. delete record
 
10. view one record
10. view one record10. view one record
10. view one record
 
9. add new record
9. add new record9. add new record
9. add new record
 
8. vederea inregistrarilor
8. vederea inregistrarilor8. vederea inregistrarilor
8. vederea inregistrarilor
 
7. copy1
7. copy17. copy1
7. copy1
 
6. hello popescu 2
6. hello popescu 26. hello popescu 2
6. hello popescu 2
 
5. hello popescu
5. hello popescu5. hello popescu
5. hello popescu
 
4. forme in zend framework 3
4. forme in zend framework 34. forme in zend framework 3
4. forme in zend framework 3
 
3. trimiterea datelor la vederi
3. trimiterea datelor la vederi3. trimiterea datelor la vederi
3. trimiterea datelor la vederi
 
2.routing in zend framework 3
2.routing in zend framework 32.routing in zend framework 3
2.routing in zend framework 3
 
1. zend framework intro
1. zend framework intro1. zend framework intro
1. zend framework intro
 
18. images in symfony 4
18. images in symfony 418. images in symfony 4
18. images in symfony 4
 
17. delete data
17. delete data17. delete data
17. delete data
 
16. edit data
16. edit data16. edit data
16. edit data
 
15. view single data
15. view single data15. view single data
15. view single data
 
14. add data in symfony4
14. add data in symfony4 14. add data in symfony4
14. add data in symfony4
 
13. view data
13. view data13. view data
13. view data
 
12.doctrine view data
12.doctrine view data12.doctrine view data
12.doctrine view data
 
11. move in Symfony 4
11. move in Symfony 411. move in Symfony 4
11. move in Symfony 4
 

MFC Click