【VC编程技巧】窗口☞3.4利用bitmap改变对话框的背景。
效果图:
代码:
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改变对话框的背景。相关推荐
- VC 编程技巧 (四)
(1) 当文档被修改时,如何在标题上加上标志'*'? 重载CDocument类的虚函数virtual SetModifiedFlag: void CTest2Doc::SetModifiedFlag( ...
- 大量C语言、C++、C#、VC编程相关书籍下载
大量C语言.C++.C#.VC编程相关书籍下载 http://www.juntuan.net/dh/CYYdowmload.htm C语言 C语言编程宝典大全 C语言实例教程 1.72 C语言程序基础 ...
- VC++ 常用编程技巧总结
VC++6.0的使用以及编程技巧整理 1.MDI子窗口一启动就最大化 BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) ...
- VC/MFC 编程技巧大总结
1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改. 2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息. 3 Java学习书推荐 ...
- java数据和窗口怎么结合_卖jsp编程技巧的那个垃圾的所有实例的答案全部
卖jsp编程技巧的那个垃圾的所有实例的答案全部 发布时间:2016-09-14 来源: 点击: 次 1. 如何让选中的一行记录高亮显示? http://topic.csdn.net/t/2005010 ...
- JAVA按键关闭窗口csdn_JSP_卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏!,1. 如何让选中的一行记录高亮 - phpStudy...
卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏! 1. 如何让选中的一行记录高亮显示? http://topic.csdn.net/t/20050105 ...
- Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略
Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略 目录 利用Excel自带筛选功能统计各个字段不同类别及其个 ...
- VC++调试技巧学习总结
VC6.0调试方法 有时候,我们编写好一个程序后,希望通过调试来知道变量值的变化情况,下面我和大家分享一下怎么利用VC6.0来查看变量值变化情况. 工具/原料 VC6.0软件.待测试程序 方法/步骤 ...
- VC小技巧(三)视图
VC小技巧(三)视图 1. 如何得到视图指针 [ 问题提出] 现在你有一个多线程的Demo, 你想在多线程里处理视图指针里的函数, 我们给这个函数起个名字:Put(); 该如何实现呢? // 有两种方 ...
最新文章
- Arm Cortex-M3 MCU性能
- mysql中date转sqlserver_MySQL和SQLServer互转
- Java的知识点9——this关键字
- python下载完以后是什么样子_python下载后怎么用
- AndroidStudio中提示:This project uses AndroidX dependencies, but the ‘android.useAndroidX‘ property is
- pdfbox 按章节读取_2020年知到设施园艺学第十单元章节测试答案
- 贪心问题JAVA_java背包问题(贪心法)
- 【渝粤教育】广东开放大学 原画设计 形成性考核 (23)
- 【剑指offer】_04 重建二叉树
- Google Earth的十个常用技巧应用
- IOS开发之MVC模式的介绍
- 亲和数(220/284)
- [机器学习笔记] 常用的分类与预测算法
- Matlab的基本语法
- 关于linux系统无法启动,提示Give root password for maintenace的解决办法
- 如何有效管理项目进度?管控关键里程碑?
- OSChina 周五乱弹 —— 谁说胖,来一个neng一个
- 使用Quads绘制函数曲线
- python编程遵循哪些规律_编程语言软件开发10个小技巧,Java、python、前端等都遵循此规律,108G资料放送中!...
- 使用Qt获取系统版本
热门文章
- SQL Server 2005中的分区表(四):删除(合并)一个分区
- 设计模式系列漫谈之五 - 迭代器模式
- 忘记mysql数据库连接密码
- springboot版本升级导致webservice调用失败org.apache.cxf.common.jaxb.JAXBUtils.createMininumEscapeHandle
- 中职计算机英语c答案,中职高考计算机试题及答案-20210622105004.docx-原创力文档...
- java带权连通图上最小权边,连通图最小生成树的算法及实现
- 四色着色问题 c语言编程,数据结构-图着色问题
- Android模糊查询excel文件内容,【excel】模糊查询关键字
- json在线解析工具大集合
- MessageFormat占位符使用