VC设置createwindow方法生成的form, button的bitmap背景图
2011-09-30 15:37
531 查看
前两天做了一个notify window的提示窗口,现整理纠结出来的主要方法。
1,设置window form的背景图(IDI_NOTIFY_BG为resource.rc文件中定义的bitmap文件)
2,设置button的背景图
1,设置window form的背景图(IDI_NOTIFY_BG为resource.rc文件中定义的bitmap文件)
MSG msg; HWND hWnd; wstring szTitle = L"Test"; wstring szWindowClass = L"Test"; WNDCLASSEX wcex={0}; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)NotifyWndProc; wcex.hInstance = 0; HBITMAP hbmp; hbmp = LoadBitmap((HINSTANCE)GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_NOTIFY_BG)); wcex.hbrBackground = (HBRUSH)CreatePatternBrush(hbmp); wcex.lpszClassName = szWindowClass.c_str(); wcex.hIcon =0; wcex.hCursor =LoadCursor(NULL, IDC_ARROW); wcex.lpszMenuName =0; wcex.hIconSm =0; RegisterClassEx(&wcex); hWnd = CreateWindow(szWindowClass.c_str(), szTitle.c_str(), WS_POPUP, (scrWidth - 205 ),(scrHeight - tbheight - 105), 200, 100, g_hMainWnd, NULL, 0, NULL);
2,设置button的背景图
HWND hbtn = CreateWindow(TEXT("BUTTON"), TEXT(""), WS_CHILD | WS_VISIBLE | BS_BITMAP | BS_FLAT , 180, 0, 19, 17, hWnd, (HMENU) 0x8801, // BUTTON ID NULL, NULL ); HBITMAP hbmp1; hbmp1 = LoadBitmap((HINSTANCE)GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_NOTIFY_CLOSEBTN)); ::SendMessage(hbtn, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, LPARAM(hbmp1));一些细节要注意到,比如BUTTON中BS_BITMAP和SENDMESSAGE的 IMAGE_BITMAP的这种标记。
相关文章推荐
- 一个可设置背景图片的验证码图片的生成方法
- ios关于button高亮不同背景的简单设置方法
- 窗体图片背景(两种方法:设置Brush.Bitmap指向图片,别的控件也可以这样)
- VC++对话框加背景图片设置方法
- ImageButton swing 设置Jbutton背景图片的方法
- VC设置视图背景颜色方法
- button设置可以变换的背景及其容易遇到的问题解决方法
- Button设置弧度背景的方法
- Button中设置style和背景drawable的方法
- navigationItem.rightBarButtonItem 设置背景图片,颜色更改解决的方法
- VC设置视图背景颜色方法
- VC:添加Button的背景图Bitmap,应用程序置于桌面最顶层
- 创建新的Button类,设置按键的背景图(不限于bitmap图)
- vc中设置256色背景和建立真彩按钮的方法
- VC设置对话框背景图片 MFC显示背景图片方法
- Android自定义Button并设置不同背景图片的方法
- VC++中给对话框设置背景图片的方法
- win8,win8.1应用中生成显示button和button背景图片的三,四种方法以及改变元素样式的四种方法
- JPanel的背景图片设置方法
- 设置子视图背景颜色不影响到父视图的背景颜色方法