1.如果要在某个目标图像控件中画图,需要以下代码:
CRect RawRect[4]; // 定义一个矩形数组,因为这里要在四个图像控件中画图
//画原始图像
Cwnd *pwnd;
pwnd=GetDlgItem(IDC_PIC1);
pwnd->GetClientRect(RawRect[0]); // 把第一个图像控件(IDC_PIC1)的坐标等信息保存在RawRect【0】这个对象中
pDC=pwnd->GetDC(); // 获取控件的DC,为画图做好准备
// 获得控件的指针还有DC之后,我们之后的画图起点不再是整个程序界面的左上角,而变成了控件的左上角
pDC->StretchBlt(0,0,rcWidth,rcHeight,&dcBmp,0,0,m_bmp.bmWidth,m_bmp.bmHeight,SRCCOPY); // 当我们调用这句话时,最左边的两个参数(0,0)将是我们控件左上角的那个点
m_RawPic[0].Draw(pDC->m_hDC,RawRect[0]); // m_hDC是DC类的成员变量,是DC的句柄 (这句代码在不同的程序中可能有不同的表达)
2.基于对话框的程序,默认有OnPaint函数
基于单文档的程序,没有Onpaint函数,也没OnDraw函数,但是我们可以在IDE中添加OnDraw函数,
一般的,如果想在单文档中画图,我们都要自己手动添加OnDraw函数,并在里面添加代码
3.基于CFormView的应用程序,执行时,希望自动全屏显示,只需把App类的InitInstance()函数中
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
改为
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->UpdateWindow();