• 大小: 105.92 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-21
  • 语言: 其他
  • 标签: C  C++  画图程序  MFC  

资源简介

画图程序 MFC/VC/VC++ 很多功能哦(画点,直线,矩形,椭圆,圆,正方形,自由线,添加文本,undo,redo,删除,可以设置 线形,线宽,线的颜色,填充色,字体,复制,粘贴,选中移动修改,(3-100边)正多边形,选取填充,颜色吸管工具,油漆桶)

资源截图

代码片段和文件信息

// Action.cpp: implementation of the CAction class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “draw.h“
#include “Action.h“
#include “Figure.h“
#include “WordToOb.h“
#include “drawView.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CAction::CAction()
{
actionMaxNumber = 0;
}

CAction::~CAction()
{

}

/*void CAction::UndoOneAction()
{
actionType.RemoveAt(actionType.GetUpperBound());
items.RemoveAt(items.GetUpperBound());
}

void CAction::AddOneAction(UINT actionType Cobject * item)
{
CString strType[7] = {“ADD_LINE“ “ADD_RECT“ “ADD_ELLIPSE“
“ADD_CIRCLE“ “ADD_TEXT“ “ADD_FREELINE“ “DELETE_ITEM“};
this->actionType.Add(strType[actionType-1]);
items.Add(item);

}

void CAction::AddOneAction(CAction * action)
{
actionType.Add(action->actionType[action->actionType.GetUpperBound()]);
    items.Add(action->items[action->items.GetUpperBound()]);
}

BOOL CAction::ActionIsEmpty()
{
if(actionType.GetSize() == 0)
return TRUE;
return FALSE;
}

void CAction::EmptyAction()
{
if(!ActionIsEmpty())
{
actionType.RemoveAll();
items.RemoveAll();
}
}

int CAction::GetIndex(CString str)
{
CString strType[7] = {“ADD_LINE“ “ADD_RECT“ “ADD_ELLIPSE“
“ADD_CIRCLE“ “ADD_TEXT“ “ADD_FREELINE“ “DELETE_ITEM“};
int i=0;
for(i=0;i<6;i++)
{
if(strType[i] == str)
break;
}
return i+1;
}*/

void CAction::AddOneAction(action_type actionType)
{
actionMap[actionMaxNumber] = actionType;
}

void CAction::AddOneActionToFig(fig_num figNumber fig_type figType)
{
//actionNToFigN[actionNumber] = figNumber;
actionNToFigN.insert(std::make_pair(actionMaxNumber figNumber));
figMap[figNumber] = figType;
}

//DEL void CAction::AddOneFig(int figNumber int figType)
//DEL {
//DEL  figMap[figNumber] = figType;
//DEL }

void CAction::UndoOneAction(CAction *undoAction)
{
undoAction->AddOneAction(this);

action_num actionNumber = GetMax();
action_type actionType = actionMap[actionNumber];

//  if (actionType != DELETE_ITEM)
//  {
//  AIT find;
//  FindFromAction(find actionNumber);
//  /*AddOneActionEasy(action->GetFromAction(actionNumber) find->second 
//  action->GetFigTypeKey(find->second));*/
//  CWordToOb
//  docSave->SetTypeKey(find.second )
//  }
//  else
//  {
//  AIT firstsecond;
//  GetRengeKey(first second actionNumber);
//  for(AIT i=first; i!=second; ++i)
//  {
//  //AddOneActionToFig(i->second action->GetFigTypeKey(i->second));
//  }
//  SetAdd();
//  }
actionMap.erase(actionNumber);
actionNToFigN.erase(actionNumber);
actionMaxNumber--;
/*
if (actionType != DELETE_ITEM)
{

}
else
{

}*/
}

voi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5991  2009-02-05 10:46  draw_prj\Action.cpp

     文件       1997  2009-02-09 10:07  draw_prj\Action.h

     文件       2043  2009-02-08 19:57  draw_prj\BkView.cpp

     文件       1381  2009-02-08 19:57  draw_prj\BkView.h

     文件       3433  2009-02-08 20:17  draw_prj\CavasDialog.cpp

     文件       1508  2009-02-08 13:19  draw_prj\CavasDialog.h

     文件       2467  2009-02-10 11:28  draw_prj\DocSave.cpp

     文件       1063  2009-02-05 13:35  draw_prj\DocSave.h

     文件       4696  2009-02-03 14:49  draw_prj\draw.cpp

     文件       6529  2009-02-09 21:24  draw_prj\draw.dsp

     文件     151552  2009-02-13 10:22  draw_prj\draw.exe

     文件       1192  2009-01-03 19:56  draw_prj\draw.h

     文件      21144  2009-03-13 20:47  draw_prj\draw.rc

    ..A..H.     20480  2009-02-03 11:14  draw_prj\draw.suo

     文件       3377  2009-02-11 23:35  draw_prj\drawDoc.cpp

     文件       1364  2009-02-03 15:32  draw_prj\drawDoc.h

     文件      45418  2009-03-04 20:42  draw_prj\drawView.cpp

     文件       5108  2009-02-12 14:54  draw_prj\drawView.h

     文件      10320  2009-03-16 21:32  draw_prj\Figure.cpp

     文件       1898  2009-03-13 21:06  draw_prj\Figure.h

     文件       2340  2009-02-06 19:12  draw_prj\FreeLine.cpp

     文件        933  2009-02-06 19:12  draw_prj\FreeLine.h

     文件       5762  2009-02-12 14:59  draw_prj\MainFrm.cpp

     文件       1983  2009-02-12 14:40  draw_prj\MainFrm.h

     文件       8730  2009-03-13 20:48  draw_prj\MyDialogBar.cpp

     文件       2017  2009-03-13 20:48  draw_prj\MyDialogBar.h

     文件       3062  2009-02-07 20:13  draw_prj\MyFont.cpp

     文件        983  2009-02-07 18:18  draw_prj\MyFont.h

     文件        811  2009-01-31 21:24  draw_prj\MyPoint.cpp

     文件        614  2009-01-31 21:25  draw_prj\MyPoint.h

............此处省略31个文件信息

评论

共有 条评论