Windows API一日一练(34)GetSysColor函数

news/2024/7/11 1:24:30 标签: Windows, QQ, .net, Blog, HTML
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
当你需要自己显示一个与众不同的按钮时,就需要使用下面的方法来创建。当然这里也是综合地使用前面学习过的知识进行一次综合的练习。演示怎么样使用众多的 API 函数,这里还可以学会使用 GetSysColor 函数来获取系统的颜色。
WINUSERAPI
DWORD
WINAPI
GetSysColor(
__in int nIndex);
nIndex 是系统定义的颜色索引值。
调用这个函数的例子如下:
#001//
#002// 界面显示输出 .
#003//
#004// 蔡军生 2007/09/12 QQ:9073204 深圳
#005//
#006void CCaiWinMsg::OnDraw(HDC hDC)
#007{
#008// 显示一个按钮。
#009// 设置按钮背景颜色。
#010RECT rcText;
#011rcText.left = 10;
#012rcText.top = 10;
#013rcText.right = 100;
#014rcText.bottom = 100;
#015
#016HBRUSH hbrush = CreateSolidBrush(GetSysColor(COLOR_3DFACE));
#017// 用黑色的画刷填充四边形的颜色 .
#018FillRect(hDC,&rcText,hbrush);
#019DeleteObject(hbrush);
#020
#021//
#022HPEN hLight = CreatePen(PS_SOLID,1,
#023 GetSysColor(COLOR_3DHIGHLIGHT));
#024HPEN hShdaow = CreatePen(PS_SOLID,1,
#025 GetSysColor(COLOR_3DDKSHADOW));
#026
#027//
#028// 移到指定位置 .
#029POINT ptLeftTop;
#030ptLeftTop.x = 20;
#031ptLeftTop.y = 20;
#032MoveToEx(hDC,ptLeftTop.x,ptLeftTop.y,NULL);
#033
#034// 显示白线。
#035HGDIOBJ hOldPen = SelectObject(hDC,hLight);
#036ptLeftTop.x = 20;
#037ptLeftTop.y = 90;
#038LineTo(hDC,ptLeftTop.x,ptLeftTop.y);
#039
#040ptLeftTop.x = 20;
#041ptLeftTop.y = 20;
#042MoveToEx(hDC,ptLeftTop.x,ptLeftTop.y,NULL);
#043ptLeftTop.x = 90;
#044ptLeftTop.y = 20;
#045LineTo(hDC,ptLeftTop.x,ptLeftTop.y);
#046
#047// 显示黑色线。
#048SelectObject(hDC,hShdaow);
#049ptLeftTop.x = 90;
#050ptLeftTop.y = 90;
#051LineTo(hDC,ptLeftTop.x,ptLeftTop.y);
#052
#053ptLeftTop.x = 20;
#054ptLeftTop.y = 90;
#055LineTo(hDC,ptLeftTop.x,ptLeftTop.y);
#056
#057//
#058SelectObject(hDC,hOldPen);
#059DeleteObject(hLight);
#060DeleteObject(hShdaow);
#061
#062int nOldMode = SetBkMode(hDC,TRANSPARENT);
#063// 输出文字。
#064std::wstring strShow(_T(" 按钮 "));
#065DrawText(hDC,strShow.c_str(),(int)strShow.length(),&rcText,
#066 DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);
#067
#068//
#069SetBkMode(hDC,nOldMode);
#070}
这是综合使用前面学习过的 API 函数来画一个按钮,如果有什么不了解的,请看看以前学习过的 API 函数。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1782733



http://www.niftyadmin.cn/n/597825.html

相关文章

numpy序列预处理dna序列_「手把手教你」Python处理时间序列之日期

由于大多数人骨子里倾向于投机或赌博&#xff0c;受欲望、恐惧和贪婪所左右&#xff0c;因此大多数时间里股票市场都是非理性的&#xff0c;容易有过激的股价波动。 By 本杰明格雷厄姆引言时间序列是金融量化分析中最常见的数据类型&#xff0c;记录某一变量或特征沿着时间轴而…

matlab仿真交通路况,赛道道路路况分析问题 matlab高手进下

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼clf;clearx1[0.2,4.96,6.55,9.71,13.17,16.23,18.36,20.53,23.15,26.49,28.23,29.1,30.65,30.92,31.67,33.03,34.35,35.01,37.5]x2[0.2,1.8,4.90,6.51,9.73,13.18,16.20,18.92,20.50,23.23,25.56,28.31,29.45,30.30,30.92,31.67,33…

mysql 8.0_MySQL 8.0.12 新特性一览

原标题&#xff1a;MySQL 8.0.12 新特性一览原文链接&#xff1a;http://enmotech.com/web/detail/1/577/1.html更多产品&#xff1a;http://www.enmotech.com/services/software.htmlzData 一体机&#xff1a;http://enmotech.com/web/classify/26.html​Bethune(白求恩)&…

javascript event 事件解析

描述 event代表事件的状态&#xff0c;例如触发event对象的元素、鼠标的位置及状态、按下的键等等。 event对象只在事件发生的过程中才有效。 event的某些属性只对特定的事件有意义。比如&#xff0c;fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义…

Windows API一日一练(33)ExtCreatePen函数

<iframe align"top" marginwidth"0" marginheight"0" src"http://www.zealware.com/46860.html" frameborder"0" width"468" scrolling"no" height"60"></iframe>使用前面介绍的…

python量化平台怎么搭建_如何用python量化平台写策略

开始学&#xff0c;容易&#xff1b;坚持炼&#xff0c;很难&#xff01; 量化&#xff0c;应该是一个能吸引持续练习python的地方&#xff0c;一个能应用数据处理&#xff0c;统计&#xff0c;作图&#xff0c;甚至是ML和DL的地方&#xff1b; 这个专栏的目标&#xff1a;1. 提…

图片复制到服务器 方向变了_搜索引擎Solr(一)Solr服务器的安装与配置

前面分享了电商的系统架构&#xff0c;后续我会介绍电商系统平台用到的一系列相关的技术。缓存架构、搜索引擎、数据库架构、分布式架构等技术。搜索引擎是电商系统最重要、最复杂的模块之一。接下来就聊一聊电商平台搜索引擎Solr的安装与配置1&#xff0e;准备1&#xff0e;安…

Windows API一日一练(32)CreatePen函数

<iframe align"top" marginwidth"0" marginheight"0" src"http://www.zealware.com/46860.html" frameborder"0" width"468" scrolling"no" height"60"></iframe>画画是讲究色彩…