学习七十一雾央MFC游戏心得,初体验(二)



看了七十一雾央的博客后深有感触,决定学习一下,跟着操作,写下自己的心得。

初体验之二。

2015/06/13/

///by xbw

编译器 visual studio 2013 MFC应用程序


本节创建位图;

一、一些基本的知识


       创建一个窗口之后,显示的屏幕上便划分出三个区域,即屏幕区(Screen),窗口区(Window)与内部窗口区(Client)DeviceContext(设备内容)一般简称为DC,简单来说,DC就是程序可以进行绘图的地方。--引用雾央博客。

在CChildView.h中插入 加入变量定义   CRect m_client;

此处试了好多地方,最终明白加在什么地方,加在public 里边(容易理解,容易实现,不是官方语言,通俗易懂)

然后,在CChildView.cpp中找到void CChildView::OnPaint() 函数;

加入代码;

CDC *cDC=this->GetDC();   //获得当前窗口的DC   
GetClientRect(&m_client);   //获得窗口的尺寸
//加入我们要绘制的代码。。。。。。
ReleaseDC(cDC);           //释放DC   

到此,准备工作完毕

下面,加入位图。

二、使用CBitmap类进行绘图

在CChildView.h中插入 加入变量定义  CDC m_bgcDC;还有 CBitmap m_bgBitmap; 同样是public里边;

添加位图资源,右键工程名字,添加资源,位图,bmp格式;

然后,在CChildView.cpp中找到void CChildView::OnPaint() 函数;

这块代码,只有这两部分决定,

分别加入 m_bgBitmap.LoadBitmap(IDB_BITMAP1);

m_bgcDC.SelectObject(&m_bgBitmap);

cDC->BitBlt(0,0,m_client.Width(),m_client.Height(),&m_bgcDC,0,0,SRCCOPY);

(本人比较笨,只能接受简单直白的填鸭式学习)

上代码;此步完成后部分代码;

void CChildView::OnPaint() 
{
	CPaintDC dc(this); // 用于绘制的设备上下文
	CDC *cDC = this->GetDC();   //获得当前窗口的DC   
	GetClientRect(&m_client);   //获得窗口的尺寸
	//加入我们要绘制的代码。。。。。。
	m_bgcDC.CreateCompatibleDC(NULL);
	m_bgBitmap.LoadBitmap(IDB_BITMAP1);
	m_bgcDC.SelectObject(&m_bgBitmap);
	cDC->BitBlt(0, 0, m_client.Width(), m_client.Height(), &m_bgcDC, 0, 0, SRCCOPY);
	ReleaseDC(cDC);           //释放DC   
	// TODO:  在此处添加消息处理程序代码
	
	// 不要为绘制消息而调用 CWnd::OnPaint()
}

现在,可以显示图片了,是不是很开心,但是总感觉很别扭,之前做的MFC基于窗口的应用程序贴图是很方便的,那个掌握比较容易,参考我的其他文章,有详细介绍;不知雾央用单个文档的用意,跟着雾央走,好戏在后头;

 


 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值