学VC有一段时间了,但感觉还是处于超级菜猫状态,但古语有云,不积跬步,无以致千里,所以觉得慢慢积累,相信会有变成大牛的一天.
今天先写个显示bmp文件的简单程序,
在ondraw函数中添加
CDC memDC;//内存设备场景
CBitmap cb;//位图类对象
CRect rect;
GetWindowRect(&rect);
cb.LoadBitmap (IDB_BITMAP1);//载入资源
memDC.CreateCompatibleDC (pDC);//创建内存设备上下文 Creates a memory device context that is compatible with the device specified by pDC.
// 假如需要对屏幕进行比较多的gdi函数操作,如果每一步操作都直接对屏幕dc进行操作,那出现的大多数可能性都是屏幕的闪烁。一个很好的解决方法就是使用内存dc,将这些操作全部先在内存dc上操作,然后依次性在屏幕上进行操作。
CBitmap *oldbitmap=NULL;
oldbitmap=memDC.SelectObject (&cb);//将位图选入当前设备场景
pDC->BitBlt (0,0,rect.Width (),rect.Height (),&memDC,0,0,SRCCOPY);//将内存场景的图象拷贝到屏幕上
memDC.SelectObject (oldbitmap);