如何释放句柄?如(HDC&HBITMAP)HDCpaintDC=

试试看delete paintDC;

记得应该就是用DeleteObject呀~

请教:windowsmobile手机竖屏幕切换到横屏幕时候,屏幕?

改为 InvalidateRect(hWnd, NULL, FALSE)试试。或者屏蔽掉绘制背景消息。

语句dc->BitBlt()和hdc=::CreateCompatibleDC()中dc和hdc的不同,急,谢谢~

dc是在CFrameWnd里的,封装好的,相当于精装修房,用起来方便一些

CDC dc;

CDC *mdc;

mdc=new CDC;//建立内存

mdc->CreateCompatibleDC(&dc); // 将内存与作画区进行关联。将dc的地址传递进去。 &是取dc地址

mdc->SelectObject(bitmap); //将图片放入到内存中

dc.BitBlt(x,y,width,height,mdc,left,top,SRCPAINT);

hdc是Win32编程里直接用的,属于毛坯房一点用起来自由一点

HDC dc;

HDC *mdc;

mdc=new HDC;//建立内存

/mdc->CreateCompatibleDC(dc); // 将内存与作画区进行关联。将dc的地址传递进去。 &是取dc地址

mdc->SelectObject(bitmap); //将图片放入到内存中BitBlt(dc,x,y,width,height,mdc,left,top,SRCPAINT);

注意,前面都差不多,最后一行那个BitBlt不同,一个是面向对象的dc.BitBlt, 另一个是自由函数BitBlt.你这段语句里面dc是一个CDC对象的指针。和一般类的对象指针的使用没什么不同。

而HDC是一个句柄。很多操作都是把这个句柄当作参数来调用的。

具体你查一下类对象指针和句柄的区别吧。

再看看别人怎么说的。

请问为何要调用dcMem.CreateCompatibleDC(pDC)这个函数?

创建与支持光栅操作的设备上下文nbsp;看你定义的是dcMemnbsp;是在内存中做图,或者加载位图nbsp;它将产生与pDC指定设备兼容的设备上下文内存,设备上下文内存包含显示表面的信息,它用于在向实际的兼容设备表面发送图象之前在内存中作好准备。当创建设备内存上下文时,GDI自动选择单色存储位图格式。只有在位图已被创建并被选入设备上下文之中时,才使用GDI输出函数pDC-amp;gt;MoveTo(point1);也可以在内存画图。关键要看pDC被指定成什么设备楼主也可以找个讲GDI的专门看看CDC类定义的是设备上下文对象的类。CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。通过CDC对象的成员函数进行所有的绘图。类对设备上下文操作提供了成员函数,处理绘图工具。安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板。它还为获取和设置绘图属性、映射,处理视点、窗口扩展、转换坐标,处理区域、剪贴、绘制直线及绘制简单椭圆和多边形等形状提供了成员函数。另外还为绘制文本、处理字体,使用打印机跳转,滚动和播放元文件提供成员函数。使用CDC对象时要构造它,然后调用与它平等的、使用设备上下文的Windows函数的成员函数。