- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows界面编程第一篇 位图背景与位图画刷
??? 可以通过WM_CTLCOLORDLG消息来设置对话框的背景,MSDN上对这个消息的说明如下:
The?WM_CTLCOLORDLG?message is sent to a dialog box before the system draws the dialog box. By responding to this message, the dialog box can set its text and background colors using the specified display device context handle.
当窗口消息响应函数接收这个消息时,wParam表示对话框的设备上下方即HDC,lParam表示对话框的句柄。如果程序处理了这个消息,应返回一个画刷。系统将会用这个画刷来重绘对话框背景。
因此我们在这个WM_CTLCOLORDLG消息中得到对话框的大小,并通过StretchBlt函数将位图缩放后贴到对话框的HDC中就完成了对话框背景的设置,然后返回一个空画刷给系统,这样系统就不会将位图背景给覆盖了。
代码非常简单,要注意的是在使用StretchBlt函数缩放位图时,最好先使用
SetStretchBltMode函数来设置下位图内容伸展模式,这样可以避免缩放后位图失真严重。SetStretchBltMode函数原型如下:
int?SetStretchBltMode(
????HDChdc,???????????// handle to DC
??? int?iStretchMode???// bitmap stretching mode
);
第一个参数就是设备上下方即HDC。
第二个参数有四种设置:
1.?BLACKONWHITE?or?STRETCH_ANDSCANS
?如果两个或多个像素得合并成一个像素,那么StretchBlt会对像素执行一个逻辑AND运算。这样的结果是只有全部的原始像素是白色时该像素才为白色,其实际意义是黑色像素控制了白色像素。这适用于白色背景中主要是黑色的单色点阵图。
2.?WHITEONBLACK?or?STRETCH_ORSCANS
?如果两个或多个像素得合并成一个像素,那么StretchBlt会对像素执行逻辑OR运算。这样的结果是只有全部的原始像素都是黑色时该像素才为黑色,也就是说由白色像素决定颜色。这适用于黑色背景中主要是白色的单色点阵图。
3.?COLORONCOLOR?or?STRETCH_DELETESCANS
?简单地消除图素行或列,而没有任何逻辑组合。这是通常是处理彩色点阵图的最佳方法。
4.?HALFTONE?or?STRETCH_HALFTONE
根据组合起来的来源颜色来计算目的的平均颜色。
?
其它技术细节可以见代码中的注释,完整代码如下(也可以下载,下载地址为: HYPERLINK /download/morewindows/4947377 /download/morewindows/4947377):
[cpp]? HYPERLINK /morewindows/article/details/8451629 \o view plain view plain HYPERLINK /morewindows/article/details/8451629 \o copy copy HYPERLINK /morewindows/article/details/8451629 \o print print HYPERLINK /morewindows/article/details/8451629 \o ? ?
//?对话框位图背景??-?WM_CTLCOLORDLG中使用StretchBlt贴图???
//By?MoreWindows-(/MoreWindows)???
#include?windows.h???
#include?resource.h???
??
const?char?szDlgTitle[]?=?位图背景?使用StretchBlt贴图?MoreWindows-(/MoreWindows);??
??
//?对话框消息处理函数???
BOOL?CALLBACK?DlgProc(HWND?hDlg,?UINT?message,?WPARAM?wParam,?LPARAM?lParam);??
????????????
int?APIENTRY?WinMain(HINSTANCE?hInstance,??
?????????????????????HINSTANCE?hPrevInstance,??
?????????????????????LPSTR?????lpCmdL
您可能关注的文档
- quick.cocos2d.x游戏打包环境搭建.docx
- r.studio如何使用.doc
- R80.K应用开发接口说明.doc
- RegSvr32已加载mshtml.dll但没有找到DllRegisterServer输入点.docx
- ROC曲线[Excel,spss15.0,MedCale,state].doc
- Root过程-可删除软件-刷机过程-升级GMS过程-去除拍照音-wipe方法-小技巧.doc
- ruanci施工合同[签字].doc
- S011.7二手车市场策划岗位职责描述0804.doc
- s3c2440.lcd控制器参数如何设定.doc
- S6系列高清1000米激光夜视仪TC.LS1000S6.2MP.参数文档.doc
- 中国国家标准 GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较.pdf
- 《GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较》.pdf
- 《GB/T 37228-2025安全与韧性 应急管理 突发事件管理指南》.pdf
- GB/T 23724.3-2025起重机 检查 第3部分:塔式起重机.pdf
- 中国国家标准 GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法.pdf
- 《GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法》.pdf
- GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 中国国家标准 GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 《GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射》.pdf
- GB/T 11349.2-2025机械振动与冲击 机械导纳的试验确定 第2部分:用激振器作单点平动激励测量.pdf
最近下载
- “红旗杯”竞赛总题库-4班组长计划管理能力考试题库(附答案).docx VIP
- 物业管理实务练习题物业的承接查验(三).pdf VIP
- 食品配送行业货物运输质量保障措施.docx VIP
- 2025入党积极分子发展对象培训考试试卷题库(含答案).docx VIP
- 地下室金刚砂地坪施工方案.docx VIP
- 2025年公安局警务辅助人员招聘考试笔试试题(附答案).docx VIP
- “红旗杯”竞赛总题库-2班组长成本绩效管理能力考试题库(附答案).docx VIP
- 轨道交通收益权质押价值评估研究--以xx市地铁x号线为例.pdf VIP
- 5. 国威人工智能产业学院建设方案V1.5.pdf VIP
- 中国AIGC应用全景图谱报告.pptx VIP
文档评论(0)