Spiro 示例:动画绘图游戏

更新:2007 年 11 月

Spiro 示例是一个绘图游戏,它说明如何使用以下功能:

  • 应用程序中需要动画效果的内存 DC。

  • MM_LOENGLISH 映射模式。

  • 图像列表(使用 CImageList 创建),包括透明模式和位图拖放。

安全说明:

提供该示例代码是为了阐释一个概念,并不代表着最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失,Microsoft 不承担任何责任。

获取示例和安装示例的说明:

  • 在 Visual Studio 的“帮助”菜单上,单击“示例”。

    有关更多信息,请参见定位示例文件

  • 示例的最新版本和完整列表可以从 Visual Studio 2008 Samples page(Visual Studio 2008 示例页面)联机获取。

  • 还可以在计算机的硬盘上查找示例。默认情况下,示例和自述文件将复制到 \Program Files\Visual Studio 9.0\Samples\ 下的文件夹中。对于 Visual Studio 速成版,所有示例都位于联机位置。

生成并运行示例

生成并运行 Spiro 示例

  1. 打开解决方案 spiro.sln。

  2. 在“生成”菜单中单击“生成”。

  3. 在“调试”菜单中,单击“开始执行(不调试)”。

工具栏包含四个环类型和七个轮类型。可以组合环和轮(一对一)以创建不同的“螺旋形”绘图。

说明:

轮也可用作环。在这种情况下,一个轮放置在另一个轮的外面。

在绘图区上放置了环和轮后,可单击轮的“pen-spot”并将其拖动到该轮上的其他位置。更改 pen-spot 的位置可以生成不同的绘图。另外,可从工具栏中选择要使用的颜色。最后,可单击工具栏上的“width setting”按钮以选择钢笔的宽度。

选择了这些设置后,单击“Play”按钮开始绘图。这将触发绘图操作,使用“Pause”按钮可暂停此操作。使用“step”按钮可“stepped”进行绘图。

其他功能

  • Drawing Speed   通过使用工具栏上的“Fast Drawing”和“Slow Drawing”按钮控制绘图速度。

  • Clearing or Repositioning the Rings   完成绘图后,可单击工具栏上的“cancel-ring”或“cancel-wheel”按钮,从绘图图面上移除环或轮。

    说明:

    单击“cancel-ring”按钮同样可以移除绘制的轮(如果有)。

    若要重新定位轮或环,请移除环并重新放置它。

  • Copying and Dragging Spirographs   可使用鼠标将完成的螺旋形拖动到绘图区的不同位置。若要复制绘图,请按住 Ctrl 键,同时将其拖动到新位置。

  • Removing Spirographs   若要从绘图区中移除绘图,请将它拖离绘图图面。为此,可能需要缩小一倍或多倍,直到绘图区的边界显示在屏幕上。

  • Zooming   有两个工具栏按钮可以执行放大和缩小。即使在创建绘图期间,这些按钮仍可用。可以缩小若干倍,直到绘图区的边界可见。

  • Printing   可以使用“File”菜单上的“Print Preview”选项在打印前查看绘图。使用彩色打印机可以打印出效果极佳的图案。

类和关键字

此示例说明以下类:

CImageListCToolBarCPointCPenCBrushCDCCArchiveCPaintDCCRgnCBitmapCCmdUICToolBarCtrlCSize

此示例说明以下关键字:

CBitmap::CreateCompatibleBitmap、CBitmap::DeleteObject、CImageList::DragEnter、CImageList::DragLeave、CImageList::DragMove、CImageList::EndDrag、CDC::DPtoLP、CDC::LPtoDP、CDC::IsPrinting、CDC::SetWindowOrg、CDC::SetViewportOrg、CDC::FillRect、CCmdUI::Enable、CView::OnPrepareDC、CRect::SetRect、CRect::InflateRect、CToolbarCtrl::IsButtonChecked

请参见

其他资源

MFC 示例