展开全部
你是想用图片做程序的背景吗 ?
看你写了 case WM_CREATE 应该是用SDK 手写的代码把。
那么就没必要在 WM_CREATE消息里操作了。
直接 在你填WNDCLASS 类得时候
HBITMAP back_groud;
back_groud = (HBITMAP)LoadImage(hInstance,"winbk.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE); // 载入图片
wndclass.hbrBackground = (HBRUSH)(CreatePatternBrush(back_groud)); //程序背景
还有要注意图片要放在Debug文件夹里
看你写了 case WM_CREATE 应该是用SDK 手写的代码把。
那么就没必要在 WM_CREATE消息里操作了。
直接 在你填WNDCLASS 类得时候
HBITMAP back_groud;
back_groud = (HBITMAP)LoadImage(hInstance,"winbk.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE); // 载入图片
wndclass.hbrBackground = (HBRUSH)(CreatePatternBrush(back_groud)); //程序背景
还有要注意图片要放在Debug文件夹里
更多追问追答
追问
请问是在定义 WNDCLASS wndclass ;之前定义上面两句话么?我的图片是jpg格式,是不是把"winbk.bmp"改成.jpg就可以了??但是程序没有报错 却也没有背景
追答
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[] = TEXT("Dome");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
HBITMAP back_groud;
BITMAP bitmap;
back_groud = (HBITMAP)LoadImage(hInstance,"winbk.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE); // 载入图片
GetObject(back_groud,sizeof(bitmap),&bitmap);
wndclass.style ........
........
wndclass.hbrBackground = (HBRUSH)(CreatePatternBrush(back_groud));
不能用很遗憾 不能用jpg的 如果希望用 jpg或者png的 去看看 GDI+的东西吧 我手上有个Demo 感觉还可以你需要 留下邮箱发给你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询