win32设置Dlg背景色,以图片为背景

来源:互联网 发布:金牛考勤软件官网 编辑:程序博客网 时间:2024/04/28 23:58
Code:
  1. // 全局变量   
  2. HBITMAP hBmp;   
  3. HBRUSH hBsh;   
  4.   
  5. // 重绘对话框背景色   
  6. // 初始化画比   
  7. BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)   
  8. {   
  9. // 实例句柄   
  10. HINSTANCE hInstance = (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE);   
  11. // 位图句柄IDB_BITMAP2为位图资源   
  12. hBmp =(HBITMAP)LoadBitmap(hInstance,  MAKEINTRESOURCE(IDB_BITMAP2));   
  13. // 以图像为背景限制为bmp格式   
  14. //hBsh = CreatePatternBrush(hBmp);   
  15. // 以颜色为背景   
  16. hBsh = CreateSolidBrush(RGB(0,255,0));    
  17.     return TRUE;   
  18. }   
  19.   
  20. // 重绘dlg响应函数   
  21. HBRUSH Cls_OnCtlColor(HWND hwnd, HDC hdc, HWND hwndChild, int type)   
  22. {   
  23. // 返回一个画比来创建对话框   
  24. return hBsh;   
  25. }   
  26.   
  27. BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)   
  28. {   
  29.     switch(uMsg)   
  30.     {   
  31.         HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);   
  32.         HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);   
  33.   HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);   
  34.   HANDLE_MSG(hWnd,WM_CTLCOLORDLG, Cls_OnCtlColor);   
  35.     }   
  36.     return FALSE;   
  37. }  

注意如果你不知道Cls_OnCtlColor函数的参数可以在把光标定位到HANDLE_MSG右键转到windows。h文件
找消息WM_CTLCOLORDLG在其宏的上方就有说明
http://www.rupeng.com/forum/tj-18944-7786.html

原创粉丝点击