MFC实现直线生成算法(DDA与Bresenham)

编译环境VC++ 6.0

1、新建“MFC Project(.exe)”,工程名“MFCDrawLine”,选择“Single Doc”,其他默认,Finish。

2、编辑菜单资源

在项目资源管理器中选择“ResourceView”标签,点开里面的“Menu”目录,双击“IDR_MAINFRAME”打开之,其中包含菜单Banner,之后编辑菜单资源。点击右侧空白处,在弹出对话框中Caption处填写菜单项标题“Drawline”,ID处为不可编辑状态。编辑完成后,编辑Drawline的子菜单,分别填写:

ID Caption
ID_DDA DDA
ID_BRESENHAM Bresenham

编辑完后,结果如下图:

251608174209522

3、添加消息处理函数

在菜单中选择”View –> ClassWizard” 在“Class name”选单中选择“CMFCDrawLineView”,然后在左侧“Object IDs”中选择刚才创建的两个ID分别添加Function。“Messages”均选择“COMMAND”;

具体如下表:

ID Message Function
ID_DDA COMMAND onDda
ID_BRESENHAM COMMAND onBresenham

4、添加具体代码

在项目资源管理器中选择“FileView标签”,打开”MFCDrawLine.cpp”文件,在代码的最末端可以看到刚才添加的两个Function,完成这两个函数的具体代码,编译通过即可。代码如下:

5、运行结果

251624246396732

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注