MFC02_Visual Studio C++ MFC简单绘图程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual studio C++ MFC 简单绘图程序-绘制国际象棋棋盘
功能:由Button将绘制的棋盘显示于Picture Control中
一、建立一个MFC功程序:
1.启动Visual Studio C++;
2.新建一个MFC对话框项目:New|Project|MFCAplication;
中输入mfc_pic,然后点|OK;
4.在Welcome to the MFC Application窗口:点next;
5.在Application Type窗口:点dialoge base;然后点Finish;出现如图所示的窗口;
6.删除窗口中的TODO…文本对象;
二、向窗口添加一个Picture Control和一个Button共二个对象:
1.修改Button的Caption属性为“绘制棋盘”,ID属性为IDC_BUTTON_DRAR;
2.修改Picture Control的ID属性为IDC_PIC,建立关联变量名为picD;
3.双击Button,添加如下代码:
voidCmfcpicDlg::OnBnClickedButton1()
{
CRect r;
intw,h,dxy,i,j;
CWnd *pic = GetDlgItem(IDC_PIC); //取Picture的长宽信息
GetDlgItem(IDC_PIC)->GetWindowRect(&r);
w=r.Width();
h=r.Height();
dxy=(w<h?w:h)/8; //棋盘由8*8个方格组成
CDC *pdc = pic->GetDC();
pdc->Rectangle(r);
CBrushmyBrush;
pdc->Rectangle(0,0,8*dxy,8*dxy); //绘制外框线
myBrush.CreateSolidBrush(RGB(0,0,0));
for(i=0;i<8;i++){
for(j=i%2;j<8;j+=2){
r.left=i*dxy;
r.top=j*dxy;
r.right=(i+1)*dxy;
r.bottom=(j+1)*dxy;
pdc->FillRect(r,&myBrush); //绘制黑方格
}
}
}
4.为使图形美观,初始化图形大小为8的倍数,只需在BOOL Cmfc_picDlg::OnInitDialog()
函数的定义体内“// TODO: Add extra initialization here”处加入如下代码即可;
GetDlgItem(IDC_PIC)->MoveWindow(25,25,240,240,true);
三、运行程序:按F5运行程序,得到如图所示的结果。