资源简介
一个交互式绘图程序 可以选择图形的种类(直线、折线、矩形、[椭]圆、多边形及对应的填充图形)、绘图颜色(使用颜色公用对话框)、笔的粗细和风格、填充模式(包括填充颜色[与图案])、背景模式与颜色; 可以根据用户的选择,用鼠标和方向键来绘制各种图形; 可以动态拖动绘图,并显示鼠标当前位置坐标以及拖动矩形的大小; [可以用选择的字体、大小和颜色(使用字体公用对话框)在指定的位置按指定的对齐方式来输出文字串;] 可以设置不同的坐标系(映射模式)[,并支持基本的打印输出;] 可以清屏(调用CWnd类的函数Invalidate()或用背景色画填充客户区矩形)、可以按Esc键取消正在进行的绘图操作; 各种操作和选择必须有对应的菜单项,最好有对应的工具条按钮和加速键。
代码片段和文件信息
// draw.cpp : 定义应用程序的类行为。
//
#include “stdafx.h“
#include “draw.h“
#include “MainFrm.h“
#include “drawDoc.h“
#include “drawView.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CdrawApp
BEGIN_MESSAGE_MAP(CdrawApp CWinApp)
ON_COMMAND(ID_APP_ABOUT &CdrawApp::OnAppAbout)
// 基于文件的标准文档命令
ON_COMMAND(ID_FILE_NEW &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN &CWinApp::OnFileOpen)
// 标准打印设置命令
ON_COMMAND(ID_FILE_PRINT_SETUP &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
// CdrawApp 构造
CdrawApp::CdrawApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}
// 唯一的一个 CdrawApp 对象
CdrawApp theApp;
// CdrawApp 初始化
BOOL CdrawApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
// 初始化 OLE 库
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
AfxEnableControlContainer();
// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T(“应用程序向导生成的本地应用程序“));
LoadStdProfileSettings(4); // 加载标准 INI 文件选项(包括 MRU)
// 注册应用程序的文档模板。文档模板
// 将用作文档、框架窗口和视图之间的连接
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINframe
RUNTIME_CLASS(CdrawDoc)
RUNTIME_CLASS(CMainframe) // 主 SDI 框架窗口
RUNTIME_CLASS(CdrawView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
// 分析标准外壳命令、DDE、打开文件操作的命令行
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// 调度在命令行中指定的命令。如果
// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// 唯一的一个窗口已初始化,因此显示它并对其进行更新
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
// 仅当具有后缀时才调用 DragAcceptFiles
// 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生
return TRUE;
}
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnShuiping();
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg CDialog)
ON_COMMAND(ID_Shuiping &CAboutDlg::OnShuiping)
END_MESSAGE_MAP()
// 用于运行对话框的应用程序命令
void CdrawApp::OnAppAbout()
{
CAboutDlg aboutDlg;
aboutDlg.DoModal();
}
// CdrawApp 消息处理程序
void CAboutDlg::OnShuiping()
{
// TODO: 在此添加命令处理程序代码
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3250688 2008-06-17 16:11 draw\Debug\draw.exe
文件 3372 2007-12-13 10:56 draw\draw\draw.cpp
文件 452 2007-11-21 10:17 draw\draw\draw.h
文件 16551 2007-12-21 21:39 draw\draw\draw.rc
文件 6186 2008-06-17 16:08 draw\draw\draw.vcproj
文件 1427 2008-06-27 17:13 draw\draw\draw.vcproj.ZHIMAO-6F3AE305.zhimao.user
文件 976 2007-11-21 10:17 draw\draw\drawDoc.cpp
文件 534 2007-11-21 10:17 draw\draw\drawDoc.h
文件 27581 2007-12-21 20:06 draw\draw\drawView.cpp
文件 3515 2007-12-21 19:38 draw\draw\drawView.h
文件 2155 2007-11-21 10:59 draw\draw\MainFrm.cpp
文件 677 2007-11-21 10:53 draw\draw\MainFrm.h
文件 3358 2007-11-21 10:17 draw\draw\ReadMe.txt
文件 1270 2007-12-21 16:27 draw\draw\res\bitmap1.bmp
文件 2334774 2007-12-21 21:38 draw\draw\res\bitmap2.bmp
文件 21630 2005-12-08 14:56 draw\draw\res\draw.ico
文件 360 2007-11-21 10:17 draw\draw\res\draw.rc2
文件 1078 2007-11-21 10:38 draw\draw\res\drawDoc.ico
文件 214150 2007-12-21 16:27 draw\draw\res\r_627832016p.bmp
文件 1798 2007-12-12 23:41 draw\draw\res\Toolbar.bmp
文件 2246 2007-12-12 13:48 draw\draw\res\toolbar1.bmp
文件 5697 2007-12-21 19:38 draw\draw\resource.h
文件 135 2007-11-21 10:17 draw\draw\stdafx.cpp
文件 2489 2007-11-21 10:17 draw\draw\stdafx.h
文件 878 2008-06-17 16:08 draw\draw.sln
..A..H. 7680 2008-06-27 17:13 draw\draw.suo
文件 1703 2008-06-17 16:08 draw\UpgradeLog.xm
..A.SH. 4096 2008-06-17 16:12 draw\_UpgradeReport_Files\Thumbs.db
文件 3348 2008-06-17 16:08 draw\_UpgradeReport_Files\UpgradeReport.css
文件 12505 2008-01-11 01:25 draw\_UpgradeReport_Files\UpgradeReport.xslt
............此处省略10个文件信息
相关资源
- vc++ 动态创建故障树
- VC++开发的软件动态链接库mfc42d.dll m
- 线性表基本运算的图形模拟演示设计
- MFC小游戏,背景位图,用键盘上的上
- HID USB 通信动态库 包含源码
- VC++与JS交互源码——百度地图
- MFC动态加载和静态加载bmp类型图片
- 用VC++编写的一个动态效果的简单动画
-
C++ ATL控件与ja
vasc ript交互 - MFC-High_Speed Charting绘制动态曲线
-
C++与ja
vasc ript交互 - VC++ 实现绘制波形图动态图
- VS2008MFC动态波形的绘制
- C/C++二维码生成动态库(使用非常简单
- CEF 下C++与JS交互
- c++ vlc 动态库
- Python源码剖析-深度探索动态语言核心
- VC++ MFC 图书馆管理系统
- 源代码——MFC的WebBrowser控件 C++与ja
- 基于MFC的多线程编程以及在Picture Co
- openGL显示动态的雪人
-
MFC与Html、ja
vasc ript数据交互 - 全方位图像展开程序
- C++实战源码-将PNG转换为位图
- C++ 动态交叉表
- 北斗导航系统卫星星座显示与仿真
- 约瑟夫环动态演示
- 基于MFC编程的冒泡排序动态演示
- mfc绘制贝塞尔曲线曲面
- MFCquxian.rar
评论
共有 条评论