Я создал окно с пользовательским оконным фреймом с использованием DWM со ссылкой на Custom Window Frame Using DWM. Я попытался добавить растровое изображение в строку заголовка, используя StretchBlt
. Тем не менее, это не показало должным образом. Изображение будет ярче, если оно обращено на раме:C++ WinAPI Отображение растровых изображений в пользовательском окне с использованием DWM
Если кадр является черным, изображение правильно показывает. Как вы решаете эту проблему?
HDC hdc;
PAINTSTRUCT ps;
HBITMAP hbm=(HBITMAP)LoadImage(NULL,"C:\\Users\\admin\\Desktop\\Bitmap32.bmp",
IMAGE_BITMAP,166,160,LR_LOADFROMFILE);
hdc=BeginPaint(hWnd,&ps);
HDC hdcMem=CreateCompatibleDC(hdc);
SelectObject(hdcMem,hbm);
StretchBlt(hdc,0,0,166,160,hdcMem,0,0,166,160,SRCCOPY);
DeleteDC(hdcMem);
EndPaint(hWnd,&ps);
Когда я собирался сдаться, я попробовал это и добился успеха. Мощный GDI + !!! –
Я осознал реальную проблему, которая является ключом прозрачности, вызывающим нежелательный эффект. –