裸奔的蜗牛的专栏

天天开心-OYE

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

Windows API一日一练TXT版

2010年04月09日 59KB 下载

Windows API 一日一练

2010年04月17日 1.63MB 下载

API函数一日一练pdf

2010年07月14日 1.63MB 下载

Windows API一日一练

2010年07月25日 2.52MB 下载

windows API 一日一练(93练)

2009年12月13日 2.53MB 下载

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭