您的位置:首页 > 其它

威克诺CCNA学习笔记OSI第五章

2010-09-07 16:15 225 查看
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></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函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: