比如:我创建了一个BITMAP资源IDB_BITMAP1 ; lpszResourceName是指什么呢,是硬盘上
的bitmap1.bmp吗,如果是,以下代码为什么是错的。 CBitmap bmp;
bmp.LoadBitmap("d:\\..\\res\\bitmpa1.bmp");
CDC memdc;
BITMAP bmstru;
bmp.GetBitmap(&bmstru);
memdc.CreateCompatibleDC(pDC);
memdc.SelectObject(&bmp);
pDC->BitBlt(0,0,bmstru.bmWidth,bmstru.bmHeight,&memdc,0,0,SRCCOPY);
的bitmap1.bmp吗,如果是,以下代码为什么是错的。 CBitmap bmp;
bmp.LoadBitmap("d:\\..\\res\\bitmpa1.bmp");
CDC memdc;
BITMAP bmstru;
bmp.GetBitmap(&bmstru);
memdc.CreateCompatibleDC(pDC);
memdc.SelectObject(&bmp);
pDC->BitBlt(0,0,bmstru.bmWidth,bmstru.bmHeight,&memdc,0,0,SRCCOPY);
它们都是资源,都会在连接入EXE中
的bitmap1.bmp吗,如果是,以上代码为什么是错的。
加载硬盘的文件,可以使用LoadImage函数指明LR_LOADFROMFILE标志
bmp.LoadBitmap("res\\bitmpa1.bmp");
CDC memdc;
BITMAP bmstru;
bmp.GetBitmap(&bmstru);
memdc.CreateCompatibleDC(pDC);
memdc.SelectObject(&bmp);
pDC->BitBlt(0,0,bmstru.bmWidth,bmstru.bmHeight,&memdc,0,0,SRCCOPY);
都在属性ID中设置,为字串是外加双引号(例:"Bitmap1"),
一般标明lpszResourceName的参数,就可直接采用"Bitmap1"
lpszResourceName=?谁能让我测试通过,就给谁分.
bmp.LoadBitmap("Bitmap1");
保证成功。资源可以用一个整数来标示,也可以用一个字符串标示。但无论如何,这些ID都不是指位图文件名。不要将它们混淆。