资源简介

通过绘图选项选择绘制贝塞尔曲线或贝塞尔曲面。 左键选择控制点,右键进行绘制。 按delete键清除当前窗口图形并可以开始重新绘制。 按Y键进入控制点移动功能,将鼠标移动到需要移动的控制点并按住左键开始移动,按N键退出控制点移动功能。

资源截图

代码片段和文件信息


// CAGD.cpp : 定义应用程序的类行为。
//

#include “stdafx.h“
#include “afxwinappex.h“
#include “afxdialogex.h“
#include “CAGD.h“
#include “MainFrm.h“

#include “CAGDDoc.h“
#include “CAGDView.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CCAGDApp

BEGIN_MESSAGE_MAP(CCAGDApp CWinAppEx)
ON_COMMAND(ID_APP_ABOUT &CCAGDApp::OnAppAbout)
// 基于文件的标准文档命令
ON_COMMAND(ID_FILE_NEW &CWinAppEx::OnFileNew)
ON_COMMAND(ID_FILE_OPEN &CWinAppEx::OnFileOpen)
// 标准打印设置命令
ON_COMMAND(ID_FILE_PRINT_SETUP &CWinAppEx::OnFilePrintSetup)
END_MESSAGE_MAP()


// CCAGDApp 构造

CCAGDApp::CCAGDApp()
{
m_bHiColorIcons = TRUE;

// 支持重新启动管理器
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
#ifdef _MANAGED
// 如果应用程序是利用公共语言运行时支持(/clr)构建的,则: 
//     1) 必须有此附加设置,“重新启动管理器”支持才能正常工作。
//     2) 在您的项目中,您必须按照生成顺序向 System.Windows.Forms 添加引用。
System::Windows::Forms::Application::SetUnhandledExceptionMode(System::Windows::Forms::UnhandledExceptionMode::ThrowException);
#endif

// TODO:  将以下应用程序 ID 字符串替换为唯一的 ID 字符串;建议的字符串格式
//为 CompanyName.ProductName.SubProduct.VersionInformation
SetAppID(_T(“CAGD.AppID.NoVersion“));

// TODO:  在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}

// 唯一的一个 CCAGDApp 对象

CCAGDApp theApp;


// CCAGDApp 初始化

BOOL CCAGDApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。  否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);

CWinAppEx::InitInstance();


// 初始化 OLE 库
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}

AfxEnableControlContainer();

EnableTaskbarInteraction(FALSE);

// 使用 RichEdit 控件需要  AfxInitRichEdit2()
// AfxInitRichEdit2();

// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO:  应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T(“应用程序向导生成的本地应用程序“));
LoadStdProfileSettings(4);  // 加载标准 INI 文件选项(包括 MRU)


InitContextMenuManager();

InitKeyboardManager();

InitTooltipManager();
CMFCToolTipInfo ttParams;
ttParams.m_bVislManagerTheme = TRUE;
theApp.GetTooltipManager()->SetTooltipParams(AFX_TOOLTIP_TYPE_ALL
RUNTIME_CLASS(CMFCToolTipCtrl) &ttParams);

// 注册应用程序的文档模板。  文档模板
// 将用作文档、框架窗口和视图之间的连接
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINframe
RUNTIME_CLASS(CCAGDDoc)
RUNTIME_CLASS(CMainframe)       // 主 SDI 框架窗口
RUNTIME_CLASS(CCAGDView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);


// 分析标准 shell 命令、DDE、打开文件操作的命令行
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);



// 调度在命令行中指定的命令。  如果
// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
if (!ProcessShellCommand(cmdInfo))
return FALSE;

// 唯一的一个窗

评论

共有 条评论