vc双缓冲 除了文字部分其他都是黑色

2025-05-22 07:24:20
推荐回答(2个)
回答1:

(1)SetBkColor(Vhdc,RGB(255,255,255));是设置的文本框的背景色,你想要所有都为白色,那在这句函数前再加一句,FillSolidRect(&rect, RGB(255,255,255));差点忘了,这是MFC的函数,你可以调用挨Rectangle画一下,记得先前要CreateSolidBrush(Vhdc, RGB(255,255,255));一个画刷,然后选入设备描述表中
(2)你的HBITMAP hBitmap = CreateCompatibleBitmap(Vhdc,rect->right,rect->bottom);需要改成
HBITMAP hBitmap = CreateCompatibleBitmap(hdc,rect->right,rect->bottom);

回答2:

HBITMAP hBitmap = CreateCompatibleBitmap(Vhdc,rect->right,rect->bottom);----》改为
HBITMAP hBitmap = CreateCompatibleBitmap(hdc,rect->right,rect->bottom);