资源简介
画图程序 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个文件信息
相关资源
- arcgis 10.1 中文环境安装包
- nachos-lab 02
- MFC网络编程实例
- 利用译码器74HC595的点阵显示程序和电
- capon波束形成算法-VC实现
- 常用编码(UnicodeUTF-8GBK)转换工具
- clear3389.rar
- STC12C5A60S2 CH4521 驱动数码管 显示
- STM32F103 CC2500完整驱动(模拟SPI)
- C 修改文件属性工具
- c 课程设计 职工信息管理系统
- 读取串口数据并画实时曲线的VC 程序
- 基于OpenCV的数字识别468815
- 德卡D8读写器关于读写感应卡的一些代
- VC 游戏编程—附源代码
- 3des加解密_C 实现
- 使用opencv去掉二值化图像中黑色面积
- DirectDraw 直接修改显存数据
- pctolcd2002完美版460701
- IpHlpApi.h&IpHlpApi.lib
- cache参数测量程序
- wwwscan-很强大的后台扫描工具
- 模拟ATM柜员机系统--连接数据库
- CMOS两级运算放大器设计指导
- I2C总线接口设计
- HOOK 记录和模拟 Keyboard Mouse
- 清华大学 c 郑莉 ppt课件
- c 程序判断离散数学中命题公式
- ADC0809数字电压表 LCD1602显示 汇编程序
- verilog的PCI源代码,非常详细,顶层模
评论
共有 条评论