和GUI有关的各种对象
2008-02-23 05:28:28来源:互联网 阅读 ()
在Windows中有各种GUI对象(不要和C 对象混淆),当您在进行绘图就需要利用这些对象。而各种对象都拥有各种属性,下面分别讲述各种GUI对象和拥有的属性。
字体对象CFont用于输出文字时选用不同风格和大小的字体。可选择的风格包括:是否为斜体,是否为粗体,字体名称,是否有下划线等。颜色和背景色不属于字体的属性。关于如何创建和使用字体在2.2 在窗口中输出文字中会周详讲解。
刷子CBrush对象决定填充区域时所采用的颜色或模板。对于一个固定色的刷子来讲他的属性为颜色,是否采用网格和网格的类型如水平的,垂直的,交叉的等。您也能够利用8*8的位图来创建一个自定义模板的刷子,在使用这种刷子填充时系统会利用位图逐步填充区域。关于如何创建和使用刷子在2.3 使用刷子,笔进行绘图中会周详讲解。
画笔CPen对象在画点和画线时有用。他的属性包括颜色,宽度,线的风格,如虚线,实线,点划线等。关于如何创建和使用画笔在2.3 使用刷子,笔进行绘图中会周详讲解。
位图CBitmap对象能够包含一幅图像,能够保存在资源中。关于如何使用位图在2.4 在窗口中绘制设备相关位图,图标,设备无关位图中会周详讲解。
更有一种特别的GUI对象是多边形,利用多边形能够很好的限制作图区域或是改变窗口外型。关于如何创建和使用多边形在2.6 多边形和剪贴区域中会周详讲解。
在Windows中使用GUI对象必须遵守一定的规则。首先需要创建一个合法的对象,不同的对象创建方法不同。然后需要将该GUI对象选入DC中,同时保存DC中原来的GUI对象。假如选入一个非法的对象将会引起异常。在使用完后应该恢复原来的对象,这一点特别重要,假如保存一个临时对象在DC中,而在临时对象被销毁后可能引起异常。有一点必须注意,每一个对象在重新创建前必须销毁,下面的代码演示了这一种安全的使用方法:
OnDraw(CDC* pDC) { CPen pen1,pen2; pen1.CreatePen(PS_SOLID,2,RGB(128,128,128));//创建对象 pen2.CreatePen(PS_SOLID,2,RGB(128,128,0));//创建对象 CPen* pPenOld=(CPen*)pDC->SelectObject(&pen1);//选择对象进DC drawWithPen1... (CPen*)pDC->SelectObject(&pen2);//选择对象进DC drawWithPen2... pen1.DeleteObject();//再次创建前先销毁 pen1.CreatePen(PS_SOLID,2,RGB(0,0,0));//再次创建对象 (CPen*)pDC->SelectObject(&pen1);//选择对象进DC drawWithPen1... pDC->SelectObject(pOldPen);//恢复 }
此外系统中还拥有一些库存GUI对象,您能够利用CDC::SelectStockObject(SelectStockObject( int nIndex )选入这些对象,他们包括一些固定颜色的刷子,画笔和一些基本字体。
- BLACK_BRUSH Black brush.
- DKGRAY_BRUSH Dark gray brush.
- GRAY_BRUSH Gray brush.
- HOLLOW_BRUSH Hollow brush.
- LTGRAY_BRUSH Light gray brush.
- NULL_BRUSH Null brush.
- WHITE_BRUSH White brush.
- BLACK_PEN Black pen.
- NULL_PEN Null pen.
- WHITE_PEN White pen.
- ANSI_FIXED_FONT ANSI fixed system font.
- ANSI_VAR_FONT ANSI variable system font.
- DEVICE_DEFAULT_FONT Device-dependent font.
- OEM_FIXED_FONT OEM-dependent fixed font.
- SYSTEM_FONT The system font. By default, Windows uses the system font to draw menus, dialog-box controls, and other text. In Windows versions 3.0 and later, the system font is proportional width; earlier versions of Windows use a fixed-width system font.
- SYSTEM_FIXED_FONT The fixed-width system font used in Windows prior to version 3.0. This object is available for compatibility with earlier versions of Windows.
- DEFAULT_PALETTE Default color palette. This palette consists of the 20 static colors in the system palette.
大家可能都注意到了绘图时都需要一个DC对象,DC(Device Context设备环境)对象是个抽象的作图环境,可能是对应屏幕,也可能是对应打印机或其他。这个环境是设备无关的,所以您在对不同的设备输出时只需要使用不同的设备环境就行了,而作图方式能够完全不变。这也就是Windows耀眼的一点设备无关性。如同您将对一幅画使用照相机或复印机将会产生不同的输出,而无需对画进行任何调整。DC的使用会穿插在本章中进行介绍。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 在窗口中输出文字
下一篇: MFC中常用类,宏,函数介绍
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash