MFC OnPaint CButton

时间:2013-04-30 15:38:30

标签: mfc

如何在OnPaint按钮中分配位图?你可以使用dcMemory在其他地方调用吗?

CPaintDC dc(this); 

CBitmap bmp, *poldbmp;
CDC Refinery;



//load the bitmap resouce
bmp.LoadBitmap(IDB_BITMAP1);


    //create a compataible memory DC
Refinery.CreateCompatibleDC( &dc);


//Select the bitmap into DC
poldbmp = Refinery.SelectObject( &bmp);


//Copy (BitBlt) bitmap from memory DC to screen DC
dc.BitBlt(10,10,100, 100, &Refinery,0, 0, SRCCOPY);

Refinery.SelectObject(poldbmp);

1 个答案:

答案 0 :(得分:0)

你的问题真的不清楚。每次处理WM_PAINT消息时都要加载一个位图是一个非常糟糕的主意,这往往是总是!

如果您需要一个具有位图的按钮,我建议您使用CMFCButton。您只需声明该类型的变量并执行DDX_CONTROL。我使用它们,我也可以在第一次设置后更改它们出现的图像。