• 大小: 10.03MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-16
  • 语言: C/C++
  • 标签: mfc  windows  c++  

资源简介

画图软件,可画直线、矩形、椭圆、三角形等,画图可以拖动,所有画图操作都是单击鼠标完成,有保存和读取功能。windows桌面应用,MFC。基于vs2017

资源截图

代码片段和文件信息

#define _CRT_SECURE_NO_WARNINGS
#include 
#include “Project1.h“
#include 
#include 

#define IDR_MENU1                       101
#define ID_LINE                         40001
#define ID_RECTANGLE                    40002
#define ID_ELLIPSE                      40003
#define IDR_SAVE                        40004
#define IDR_READ                        40005
#define ID_TRIANGLE                     40006

static TCHAR szClassName[] = TEXT(“WINCLASS1“);
struct ImageInfo
{
int left right top bottom;//边界
int leftT rightT topT bottomT;//当前已确定的点中的边界
int sumCount;//总共需要绘制点击次数
int nowCount;//当前绘制点击次数
POINT *point;//动态数组存储每次绘制点位
POINT moveStart;
POINT moveEnd;
};
//多边形绘图
void Polygon(HDC hDC int nowCount int sumCount POINT *point int moveX int moveY) {
if (nowCount <= 0)return;
for (int i = 1; i <= nowCount && i < sumCount; i++) {
MoveToEx(hDC point[i - 1].x + moveX point[i - 1].y + moveY NULL);
LineTo(hDC point[i].x + moveX point[i].y + moveY);
}
if (nowCount > 1) {
if (nowCount < sumCount)
MoveToEx(hDC point[nowCount].x + moveX point[nowCount].y + moveY NULL);
else MoveToEx(hDC point[sumCount - 1].x + moveX point[sumCount - 1].y + moveY NULL);
LineTo(hDC point[0].x + moveX point[0].y + moveY);
}
}
class basePaint {
public:
virtual void paint(HDC memDC int moveX int moveY) {
MoveToEx(memDC image.point[0].x + moveX image.point[0].y + moveY NULL);
LineTo(memDC image.point[1].x + moveX image.point[1].y + moveY);
}
basePaint(int sumCount) {
image.left = 0; image.right = 0; image.top = 0; image.bottom = 0;
image.leftT = 0; image.rightT = 0; image.topT = 0; image.bottomT = 0;
image.moveEnd = { 00 };
image.moveStart = { 00 };
image.sumCount = sumCount;
image.nowCount = 0;
image.point = new POINT[image.sumCount];
}
~basePaint()
{
delete[] image.point;
}
public:
ImageInfo image;
};
class LinePaint :public basePaint {//画直线
public:
void paint(HDC memDC int moveX int moveY) {
MoveToEx(memDC image.point[0].x + moveX image.point[0].y + moveY NULL);
LineTo(memDC image.point[1].x + moveX image.point[1].y + moveY);
}
LinePaint(int sumCount) :basePaint(sumCount) {}
};
class RectanglePaint :public basePaint {//画矩形
public:
void paint(HDC memDC int moveX int moveY) {
Rectangle(memDC image.point[0].x + moveX image.point[0].y + moveY image.point[1].x + moveX image.point[1].y + moveY);
}
RectanglePaint(int sumCount) :basePaint(sumCount) {}
};
class EllipsePaint :public basePaint {//画圆形
public:
void paint(HDC memDC int moveX int moveY) {
Ellipse(memDC image.point[0].x + moveX image.point[0].y + moveY image.point[1].x + moveX image.point[1].y + moveY);
}
EllipsePaint(int sumCount) :basePaint(sumCount) {}
};
class PolygonPaint :public basePaint {//画多边形
public:
void paint(HDC memDC int moveX int moveY) {
Polygon(memDC image.nowCount image.sumCount 

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

    ..A..H.     35840  2020-12-06 16:32  Project1\.vs\Project1\v15\.suo

     文件    8572928  2020-12-06 16:30  Project1\Debug\Project1.exe

     文件   23378584  2020-12-06 16:30  Project1\Debug\Project1.ilk

     文件   28168192  2020-12-06 16:30  Project1\Debug\Project1.pdb

     文件        175  2020-12-06 16:30  Project1\Project1\Debug\Project1.log

     文件     733936  2020-12-06 16:30  Project1\Project1\Debug\Project1.obj

     文件         32  2020-12-06 16:27  Project1\Project1\Debug\Project1.res

     文件        750  2020-12-06 16:30  Project1\Project1\Debug\Project1.tlog\CL.command.1.tlog

     文件      50522  2020-12-06 16:30  Project1\Project1\Debug\Project1.tlog\CL.read.1.tlog

     文件        476  2020-12-06 16:30  Project1\Project1\Debug\Project1.tlog\CL.write.1.tlog

     文件       1322  2020-12-06 16:30  Project1\Project1\Debug\Project1.tlog\link.command.1.tlog

     文件       5360  2020-12-06 16:30  Project1\Project1\Debug\Project1.tlog\link.read.1.tlog

     文件        568  2020-12-06 16:30  Project1\Project1\Debug\Project1.tlog\link.write.1.tlog

     文件        208  2020-12-06 16:30  Project1\Project1\Debug\Project1.tlog\Project1.lastbuildstate

     文件        360  2020-12-06 16:27  Project1\Project1\Debug\Project1.tlog\rc.command.1.tlog

     文件       2258  2020-12-06 16:27  Project1\Project1\Debug\Project1.tlog\rc.read.1.tlog

     文件        238  2020-12-06 16:27  Project1\Project1\Debug\Project1.tlog\rc.write.1.tlog

     文件     502784  2020-12-06 16:30  Project1\Project1\Debug\vc141.idb

     文件    1601536  2020-12-06 16:30  Project1\Project1\Debug\vc141.pdb

     文件       1300  2020-12-06 16:08  Project1\Project1\Project1.aps

     文件      21263  2020-12-06 16:30  Project1\Project1\Project1.cpp

     文件         37  2020-12-06 16:27  Project1\Project1\Project1.h

     文件       2686  2020-12-06 16:07  Project1\Project1\Project1.rc

     文件       7903  2020-12-06 16:29  Project1\Project1\Project1.vcxproj

     文件       1301  2020-12-06 16:29  Project1\Project1\Project1.vcxproj.filters

     文件        165  2020-12-06 16:02  Project1\Project1\Project1.vcxproj.user

     文件        744  2020-12-06 16:04  Project1\Project1\Resource.h

     文件       1438  2020-12-06 16:03  Project1\Project1.sln

     目录          0  2020-12-06 16:03  Project1\.vs\Project1\v15

     目录          0  2020-12-06 16:30  Project1\Project1\Debug\Project1.tlog

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

评论

共有 条评论