中易网

最后这一行C语言代码怎么理解???????

答案:2  悬赏:30  
解决时间 2021-01-13 05:23
  • 提问者网友:箛茗
  • 2021-01-13 01:08
最后这一行C语言代码怎么理解???????
最佳答案
  • 二级知识专家网友:走死在岁月里
  • 2021-01-13 02:15
我逐行给你解释一下吧:
HDC hBufDC=CreateCompatibleDC(hDC);
//上面这句的意思是创建一个和hDC兼容的显示缓存设备,创建了内存缓存设备之后是没有高度和宽度的,所以需要下面几句来为这个缓存设备选入一张位图。
HBITMAP hBitmap, hBitTemp; //这句应该不用解释了,就是定义两个位图句柄
hBitmap = CreateCompatibleBitmap(hDC, BitWidth, BitHeight);
//上面这句是创建一个宽度为BitWidth,高度为BitHeight,与hDC兼容的位图。这个兼容是指颜色,位数和hDC一样的位图,比如你的hDC是256色,位图就是256色,hDC是32位真彩,位图就是32位真彩。
hBitTemp = (HBITMAP) SelectObject(hBufDC, hBitmap);//就是这一行代码,
//后面的这句是把位图选进你刚才创建的缓存设备之中,一个缓存设备创建之后,只有选进一张位图之后才有宽度和高度,而且选进位图之后,宽度和高度就固定了,超过的部分是会被忽略的。比如你的位图是300*400的,如果你对400以外的区域进行操作是无效的。至于你说的(HBITMAP)的作用起到强制转换类型的作用,就是把函数的返回值强制转换成位图句柄,赋值给hBitTemp这个变量。
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-01-13 03:50
意思是把你后面的那个对象转换为hbittemp的图片类型的格式追问请回答全面些好吗?追答举个例子给你吧
int a;
a = (int)(8.35)就是这样的意思,明白了么?其实就是格式的转换问题追问那么整个这行代码的意思和作用是什么呢?追答意思就是将你得到的后面的那个图片的对象赋值给=号前面的hBitTemp,方便你以后调用所获得的图片
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息