MFC设置对话框背景[bmp位图当背景]

小灰灰 2022-08-21 10:00 314阅读 0赞
  1. 步骤一:导入bmp文件:
  2. 第二步:设置为背景:
  3. 添加OnCtlColor消息响应函数:
  4. 添加响应代码:
  5. HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
  6. {
  7. HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
  8. // TODO: Change any attributes of the DC here
  9. static CBrush gBr;
  10. static bool isInited = false;
  11. if(!isInited)
  12. {
  13. CBitmap bitmap;
  14. bitmap.LoadBitmap(IDB_BITMAP1);
  15. gBr.CreatePatternBrush(&bitmap);
  16. COLORREF clearColor = -1;
  17. bitmap.DeleteObject();
  18. isInited = true;
  19. }
  20. if(pWnd==this)
  21. {
  22. pDC->SetBkMode(TRANSPARENT);
  23. return gBr; //主窗口背景使用这个背景刷
  24. }
  25. else
  26. {
  27. pDC->SetBkMode(TRANSPARENT);
  28. return (HBRUSH)::GetStockObject(NULL_BRUSH); //其他控件使用透明背景
  29. }
  30. // TODO: Return a different brush if the default is not desired
  31. return hbr;
  32. }
  33. ③效果图:
  34. 静态文本框、单行多行输入文本框、列表框、ListCtrl等都可以共享主窗口的背景,但是按钮需要另外设置才可以。

发表评论

表情:
评论列表 (有 0 条评论,314人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MFC对话框添加图片背景

    在windows开发当中做界面的主要技术之一就是使用MFC,通常我们看到的QQ,360,暴风影音这些漂亮的界面都可以用MFC来实现。今天我们来说一下如何用MFC美化对话框,默认