效果图:

代码:

1.在对话框初始化函数OnInitDialog中载入bitmap,然后创建新的画刷。

// CBitmapDemoDlg メッセージ ハンドラーBOOL CBitmapDemoDlg::OnInitDialog()
{CDialogEx::OnInitDialog();// "バージョン情報..." メニューをシステム メニューに追加します。// IDM_ABOUTBOX は、システム コマンドの範囲内になければなりません。ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){BOOL bNameValid;CString strAboutMenu;bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);ASSERT(bNameValid);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// このダイアログのアイコンを設定します。アプリケーションのメイン ウィンドウがダイアログでない場合、//  Framework は、この設定を自動的に行います。

SetIcon(m_hIcon, TRUE); // 大きいアイコンの設定 SetIcon(m_hIcon, FALSE); // 小さいアイコンの設定 // TODO: 初期化をここに追加します。 CBitmap* pBitmap = new CBitmap; ASSERT(pBitmap); pBitmap->LoadBitmap(IDB_BKGROUND); //载入bitmap m_BKBrush.CreatePatternBrush(pBitmap); //创建画刷 delete pBitmap; return TRUE; // フォーカスをコントロールに設定した場合を除き、TRUE を返します。 }

2.加入windows消息WM_CTLCOLOR的响应函数。

HBRUSH CBitmapDemoDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);// TODO:  ここで DC の属性を変更してください。

// TODO: 既定値を使用したくない場合は別のブラシを返します。

if (nCtlColor == CTLCOLOR_DLG ) //当前控件是对话框时,改变画刷 return (HBRUSH)m_BKBrush.GetSafeHandle(); return hbr; }

【VC编程技巧】窗口☞3.4利用bitmap改变对话框的背景。相关推荐

  1. VC 编程技巧 (四)

    (1) 当文档被修改时,如何在标题上加上标志'*'? 重载CDocument类的虚函数virtual SetModifiedFlag: void CTest2Doc::SetModifiedFlag( ...

  2. 大量C语言、C++、C#、VC编程相关书籍下载

    大量C语言.C++.C#.VC编程相关书籍下载 http://www.juntuan.net/dh/CYYdowmload.htm C语言 C语言编程宝典大全 C语言实例教程 1.72 C语言程序基础 ...

  3. VC++ 常用编程技巧总结

    VC++6.0的使用以及编程技巧整理 1.MDI子窗口一启动就最大化      BOOL   CChildFrame::PreCreateWindow(CREATESTRUCT&   cs) ...

  4. VC/MFC 编程技巧大总结

    1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改. 2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息. 3 Java学习书推荐 ...

  5. java数据和窗口怎么结合_卖jsp编程技巧的那个垃圾的所有实例的答案全部

    卖jsp编程技巧的那个垃圾的所有实例的答案全部 发布时间:2016-09-14 来源: 点击: 次 1. 如何让选中的一行记录高亮显示? http://topic.csdn.net/t/2005010 ...

  6. JAVA按键关闭窗口csdn_JSP_卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏!,1. 如何让选中的一行记录高亮 - phpStudy...

    卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏! 1. 如何让选中的一行记录高亮显示? http://topic.csdn.net/t/20050105 ...

  7. Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略

    Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略 目录 利用Excel自带筛选功能统计各个字段不同类别及其个 ...

  8. VC++调试技巧学习总结

    VC6.0调试方法 有时候,我们编写好一个程序后,希望通过调试来知道变量值的变化情况,下面我和大家分享一下怎么利用VC6.0来查看变量值变化情况. 工具/原料 VC6.0软件.待测试程序 方法/步骤 ...

  9. VC小技巧(三)视图

    VC小技巧(三)视图 1. 如何得到视图指针 [ 问题提出] 现在你有一个多线程的Demo, 你想在多线程里处理视图指针里的函数, 我们给这个函数起个名字:Put(); 该如何实现呢? // 有两种方 ...

最新文章

  1. Arm Cortex-M3 MCU性能
  2. mysql中date转sqlserver_MySQL和SQLServer互转
  3. Java的知识点9——this关键字
  4. python下载完以后是什么样子_python下载后怎么用
  5. AndroidStudio中提示:This project uses AndroidX dependencies, but the ‘android.useAndroidX‘ property is
  6. pdfbox 按章节读取_2020年知到设施园艺学第十单元章节测试答案
  7. 贪心问题JAVA_java背包问题(贪心法)
  8. 【渝粤教育】广东开放大学 原画设计 形成性考核 (23)
  9. 【剑指offer】_04 重建二叉树
  10. Google Earth的十个常用技巧应用
  11. IOS开发之MVC模式的介绍
  12. 亲和数(220/284)
  13. [机器学习笔记] 常用的分类与预测算法
  14. Matlab的基本语法
  15. 关于linux系统无法启动,提示Give root password for maintenace的解决办法
  16. 如何有效管理项目进度?管控关键里程碑?
  17. OSChina 周五乱弹 —— 谁说胖,来一个neng一个
  18. 使用Quads绘制函数曲线
  19. python编程遵循哪些规律_编程语言软件开发10个小技巧,Java、python、前端等都遵循此规律,108G资料放送中!...
  20. 使用Qt获取系统版本

热门文章

  1. SQL Server 2005中的分区表(四):删除(合并)一个分区
  2. 设计模式系列漫谈之五 - 迭代器模式
  3. 忘记mysql数据库连接密码
  4. springboot版本升级导致webservice调用失败org.apache.cxf.common.jaxb.JAXBUtils.createMininumEscapeHandle
  5. 中职计算机英语c答案,中职高考计算机试题及答案-20210622105004.docx-原创力文档...
  6. java带权连通图上最小权边,连通图最小生成树的算法及实现
  7. 四色着色问题 c语言编程,数据结构-图着色问题
  8. Android模糊查询excel文件内容,【excel】模糊查询关键字
  9. json在线解析工具大集合
  10. MessageFormat占位符使用