ImageVerifierCode 换一换
你正在下载:

C++.docx

[预览]
格式:DOCX , 页数:14 ,大小:23.69KB ,
资源ID:5608607      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5608607.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++.docx

1、C+CPen画笔是绘图的基本工具,在MFC中画笔是CPen类的对象,它用来在DC上完成绘制线条的任务。初始化时,系统自动提供了一支黑色的默认画笔。如果程序设计人员对这个默认的画笔不满意,可以自己创建画笔来替换它。所谓的自定义画笔,就是程序员自己创建的CPen类对象,创建画笔对象是,需要使用CPen类的构造函数,它的原型为:CPen(Int style,int width ,COLORREF color); style:画笔的样式 width:画笔的宽度 color:画笔的颜色(颜色用RGB值来描述)1. CPen类构造函数该类共重载了3个构造函数:CPen( ); CPen(int nPenS

2、tyle, int nWidth, COLORREF crColor); throw(CResourceException); CPen(int nPenStyle, int mWidth, const LOGVRUSH* pLogBrush,int nStyleCount=0, const DWORD* lpStyle=NULL); throw(CResourceException); 参数nPenStyle的值 参数值 注释 PS_SOLID 创建一个实线画笔PS_DASH 创建一个虚线画笔,该值只有当画笔宽度等于1个设备单位或更小时才有效PS_DOT 创建一个点线画笔,该值只有当画笔宽度

3、等于1个设备单位或更小时才有效 PS_DASHDOT 创建一个点和虚线交替画笔,该值只有当画笔宽度等于1个设备单位或更小时才有效 PS_DASHDOTDOT 创建一个双点线画笔,该值只有当画笔宽度等于1个设备单位或更小时才有效 PS_NULL 创建一个空线画笔 PS_INSIDEFRAME 创建一个内框线画笔,该画笔可以在WindowsGDI输出函数定义的矩形边界所生成的封闭形状的边框内绘制直线 PS_GEOMETRIC 创建一个几何画笔 PS_COSMETIC 创建一个装饰画笔 PS_ALTERNATE 创建一个设置其他像素的画笔 PS_USERSTYLE 创建一个使用由用户提供的风格矩阵的

4、画笔 PS_ENDCAP_ROUND 尾帽为圆形的 PS_ENDCAP_SQUARE 尾帽为方形的 PS_ENDCAPFLAT 尾帽为平坦的 PS_JOIN_BEVEL 成尖角连接 PS_JOIN_MITET 通过setMiterLimit函数设置的当前极限值范围内斜接;否则,成尖角连接 PS_JOIN_ROUND 成圆角连接 参数pLogBrush指向一个LOGBRUSH结构。该结构原型声明如下: typedef struct tag LOGBRUSH *lb* UINT lbStyle; COLORREF lbColor; LONG lbHatch; LOGBRUSH; 该结构定义了一个画

5、刷的风格、颜色和阴影线种类。画刷的风格值 参数值 说明 BS_DIBPATTERN 由设备无关的位图定义的图形画刷。如果该参数值为该值,则成员lbHatch包含了一个被压缩的DIB句柄 BS_DIBPATTERNPT 由设备无关的位图定义的图形画刷。如果该参数值为该值,则成员lbHatch包含了一个被压缩的DIB指针 BS_HATCHED 阴影线画刷 BS_HOLLOW 中空画刷 BS_NULL 与参数值为BS_HOLLOW定义相同的画刷 BS_PATTERN 由内存位图定义的图形画刷 BS_SOLID 实画刷 BS_NULL 与参数值为BS_HOLLOW定义相同的画刷 BS_PATTERN

6、由内存位图定义的图形画刷 BS_SOLID 实画刷2. CPen类初始化成员函数 1) CreatePen( )成员函数其原型声明如下: BOOL CreatePen(int nPenStyle,int nWidth,const LOGBRUSH* pLogBrush,int nStyleCount=0,const DWORD*lpStyle=NULL);2) CreatePenIndirect( )成员函数的原型声明如下: BOOL CreatePenIndirect(LPLOGPEN lpLogPen); LOGPEN结构的具体定义如下: typedef struct tagLOGPEN

7、/ lgpn UNIT lopnStyle; POINT lopnWidth; COLORREF lopnColor; LOGPEN; 可以使用RGB宏来完成颜色设定: COLORREF RGB(cRed,cGreen,cBlue); 也可以使用COLORREF,其结构为0x00bbggrr。 注:COLORREF实际上就是一个DWORD类型的。所有如果进行颜色传递直接按%d格式就可以,不需要格式的转换。3. CPen创建的例子 CPen pen1; CPen *oldPen; pen1.CreatePen(PS_SOLID,2,RGB(192,192,192);/创建对象 oldPen =

8、pDC-SelectObject(&pen1); pDC-MoveTo(10,10); pDC-LineTo(200,20); pDC-SelectObject(oldPen);CPointCPoint类 简介CPoint类与Windows POINT结构类似。它还包括用来操纵CPoint和POINT结构的成员函数。 只要POINT结构可以使用的地方,CPoint对象也可以使用。这个类与“大小”有关的操作符可以接受CSize对象或SIZE结构,因为这两者是可以互换的。 注意:这个类派生于tagPOINT结构(名字tagPOINT是POINT结构的不太常用的有关名字)。这意味着POINT结构的数

9、据成员,x和y,也是CPoint的可以访问的数据成员。CPoint类成员构造 CPoint 构造一个CPoint 操作符 Offset 给CPoint的x和y成员增加值 operator = 检查两个点是否相等 operator != 检查两个点是否不等 返回CPoint值的操作符 operator += 通过增加一个尺寸或点来使CPoint偏移 operator -= 通过减去一个尺寸或点来使CPoint偏移 operator + 返回一个CPoint和一个尺寸或点的和 operator - 返回一个CPoint和一个尺寸或点的偏差,或一个点的不存在 返回CSize值的操作符 operato

10、r - 返回两点之间的大小差别 返回CRect值的操作符 operator + 返回偏移一个大小的CRect operator - 返回偏移一个负大小的CRectCPoint构造函数CPoint:CPoint CPoint(); CPoint( int initX, int initY ); CPoint( POINT initPt ); CPoint( SIZE initSize ); CPoint( DWORD dwPoint ); 参数: initX 指定CPoint的成员x的值。 initY 指定CPoint的成员y的值。 initPt 用于初始化此CPoint的一个POINT结构或C

11、Point对象。 initSize 用于初始化CPoint值的SIZE结构或CSize。 dwPoint 设此参数的低位字为x成员,高位字为y成员。 说明:构造一个CPoint对象。如果不给参数,则不初始化x和y成员。DrawText函数功能该函数在指定的矩形里写入格式化的正文,根据指定的方法对正文格式化(扩展的制表符,字符对齐、折行等)。 要指定额外的格式化选项,请使用DrawTextEx函数。函数原型int DrawText( HDC hDC; / 设备描述表句柄 LPCTSTR lpString; / 将要绘制的字符串 int nCount; / 字符串的长度 LPRECT lpRect

12、; / 指向矩形结构RECT的指针 UINT uFormat; / 正文的绘制选项 );参数hdc: 输入设备环境句柄。 lpString: 输入指向将被写入的字符串的指针,如果参数nCount是-1,则字符串必须是以0结束的。 如果uFormat包含DT_MODIFYSTRING,则函数可为此字符串增加4个字符,存放字符串的缓冲区必须足够大,能容纳附加的字符。 nCount: 输入指向字符串中的字符数。如果nCount为-1,则lpString指向的字符串被认为是以0结束的,DrawText会自动计算字符数。 lpRect: 输入/输出指向结构RECT的指针,其中包含文本将被置于其中的矩形的

13、信息(按逻辑坐标)。 uFormat: 输入指定格式化文本的方法。它可以下列值的任意组合,各值描述如下:值说明DT_BOTTOM将正文调整到矩形底部。此值必须和DT_SINGLELINE组合。DT_CALCRECT决定矩形的宽和高。 如果正文有多行,DrawText使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳正文的最后一行。 如果正文只有一行,则DrawText改变矩形的右边界,以容纳下正文行的最后一个字符。 出现上述任何一种情况,DrawText返回格式化正文的高度,而不是绘制正文。DT_CENTER使正文在矩形中水平居中。DT_VCENTER使正文在矩形中垂直居中。(Dream

14、Smart注:此参数必须和DT_SINGLE连用,否则GDI无法计算目的矩形)DT_EDITCONTROL复制多行编辑控制的正文显示特性。 特殊地,为编辑控制的平均字符宽度是以同样的方法计算的,此函数不显示只是部分可见的最后一行。DT_END_ELLIPSIS对于显示的文本,如果结束的字符串的范围不在矩形内,它会被截断并被附加到椭圆中。 如果一个字母不是在字符串的末尾处超出了矩形范围,它不会被椭圆截断。字符串不会被修改,除非指定了DT_MODIFYSTRING标志。DT_EXPANDTABS扩展制表符,每个制表符的缺省字符数是8。DT_WORD_ELLIPSIS, DT_PATH_ELLIPS

15、IS和DT_END_ELLIPSIS不能和此参数一起使用DT_EXTERNALLEADING在行的高度里包含字体的外部标头,通常,外部标头不被包含在正文行的高度里。DT_HIDEPREFIX忽略正文中的前缀字符(&),并且前缀字符后面的字母不会出现下划线。其它前缀字符的调用方式不受影响。 输入的字符串: A&bc&d 正常: Abc&d DT_HIDEPREFIX: Abc&dDT_INTERNAL用系统字体来计算正文度量。DT_LEFT正文左对齐。DT_MODIFYSTRING修改给定的字符串来匹配显示的正文。此标志必须和DT_END_ELLIPSIS 或 DT_PATH_ELLIPSIS同

16、时使用。DT_NOCLIP无裁剪绘制。当DT_NOCLIP使用时DrawText的使用会有所加快。DT_NOFULLWIDTHCHARBREAK在宽字符的字符串中防止行断开,因此折行规则相当于单字符的字符串。 例如,我们可以用在棒子版的windows中,为图标标签提供更好的可读性。除非指定DT_WORDBREAK,否则此值没有作用。DT_NOPREFIX关闭前缀字符的处理。 通常DrawText解释助记前缀字符,&为给其后的字符加下划线,解释&为显示单个&。指定DT_NOPREFIX,这种处理被关闭。DT_PATH_ELLIPSIS对于显示的正文,替换字符串在椭圆中的字符以确保结果能在合适的矩

17、形内。 如果该字符串包含反斜杠()字符,DT_PATH_ELLIPSIS尽可能的保留最后一个反斜杠之后的正文。 字符串不会被修改,除非指定了DT_MODIFYSTRING标志。DT_PREFIXONLY仅仅在()前缀字符的位置下绘制一个下划线。不绘制字符串中的任何其他字符。输入的字符串: A&bc&d 正常: Abc&d DT_PREFIXONLY: _ DT_RIGHT正文右对齐。DT_RTLREADING当选择进设备环境的字体是希伯来文或阿拉伯文字体时,为双向正文安排从右到左的阅读顺序都是从左到右的。DT_SINGLELINE显示正文的同一行,回车和换行符都不能折行。DT_TABSTOP设

18、置制表,参数uFormat的15C8位(低位字中的高位字节)指定每个制表符的字符数,每个制表符的缺省字符数是8。 注意:DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP,DT_NOPREFIX值不能和DT_TABSTOP值一起使用。DT_TOP正文顶端对齐(仅对单行)。DT_WORDBREAK断开字。当一行中的字符将会延伸到由lpRect指定的矩形的边框时,此行自动地在字之间断开。一个回车一换行也能使行折断。DT_WORD_ELLIPSIS截短不符合矩形的正文,并增加椭圆。返回值如果函数调用成功,返回值是正文的高度(逻辑单位)。如果

19、指定了DT_VCENTER或DT_BOTTOM,返回值是lpRect-top到绘制的正文的底部的偏移值。 如果函数调用失败,返回值是0 Windows NT:若想获得更多错误信息,请调用GetLastError函数。备注函数DrawText用设备环境中的字体选择、正文颜色和背景颜色来写正文。DrawText裁剪正文,不会出现在指定矩形的外面,除非指定了DT_NOCLIP。除非使用DT_SINGLELINE格式化,否则其余的格式都认为正文有多行。 如果选择的字体对指定的矩形而言太大,DrawText不会试图去换成一种小字体。 DrawText支持纵和方向均为0的字体。 设备环境的正文对齐方式必须

20、包括TA_LEFT, TA_TOP和TA_NOUPDATECP标志。 Windows CE:如果为参数uFormat指定DT_CALCRECT值,必须为lpRect指向的RECT结构设置right和bottom成员。Windows CE不支持uFormat为DT_EXTERNALLEADING。在K线图中的运用: 格式:drawtext(条件表达式子,位置,文字); 含义:当条件满足时,在指定的位置显示需提示的汉字; 编写时注意事项:位置要与价格相适应,如果价格在5000,那么位置处用50是显示不出文字的; 文字前后的标点是英文状态下输入的,不能用中文状态输入。SetWindowText函数功

21、能:该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控件,则改变控件的文本内容。然而,SetWindowText函数不改变其他应用程序中的控件的文本内容。函数原型:BOOL SetWindowText(HWND hwnd,LPCTSTR lpString);参数: hWnd:要改变文本内容的窗口或控件的句柄。lpString:指向一个空结束的字符串的指针,该字符串将作为窗口或控件的新文本。返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。备注:如果目标窗口属于当前进程,SetWindowText函

22、数会使WM_SETTEXT消息发送给指定的窗口或控件。然而,如果控件是以WS_CAPTION风格创建的列表框控件,SetWindowText函数将为控件设置文本,而不是为列表项设置文本。 SetWindowText函数不扩展tab字符(ASCII代码009),Tab字符以字符来显示。 速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件;winuser.h;库文件:user32.lib;Unicode:Windows NT上实现为Unicode和ANSI两种版本。CListBox类的成员函数AddString向列表中添加串Cha

23、rToItem重载以提供的WM_CHAR处理CListBox创建CListBox类ComapareItem在一个排序的owner-draw列表框中调用来获取一个新选项的位置Create创建一个列表框并且将它同CListBox对象联系起来DeleteItem当用户从owner-draw列表框中删除一个选项时起作用DeleteString从列表框中删除串Dir将当前目录下的所有文件添加到列表框中DrawItem当一个可视owner-draw列表框外观改变时被调用FindString从列表框中搜索串FindStringExact查找匹配制定串的首个列表框串GetCount返回组合框的列表框中串的数目

24、GetCurSel检索当前选取选项的索引,即使在组合框的列表中GetDroppedControlRect检索下拉组合框中可视列表框的屏幕坐标GetDroppedState检索下拉组合框的列表框是否可视GetDroppedWidth检索作为组合框一部分的下拉列表框中的最小可用宽度GetEditSel获取编辑框中当前选区内容的开始和结束字符位置GetExtendUI组合框使用默认的用户界面还是扩展的用户界面GetHorizontalExtend返回作为组合框部件列表框能够被水平滚动的像素宽带GetItemDate检索与指示组合框选项相关的32位应用程序值GetItemDatePtr检索与指示组合框

25、相关的32位应用程序值的指针GetItemHeight检索组合框中列表选项的高度GetLBText获取来自组合框中列表框的词条GetLBTextLen获取列表框中词条的长度GetLocale检索组合框的当前标识GetTopIndex返回作为组合部件的列表框中的第一个可视选项的索引InitStorage给作为组合框部件的列表框选项和串与分配内存InsertString将串加到组合框的列表框中LimitText限制用户可以输入到组合框中的编辑框中的文本长度MeasureItem当创建owner-draw组合框,已决定组合框尺寸Paste将剪贴板中的数据插入到编辑框中ResetContent从组合框

26、的列表框和编辑框中删除所有的串SetCurSel在组合框的列表框中选取一个串SetDroppedWidth未作为组合框部件的下拉列表框设置最小的可用宽度SetEditSel在组合框的编辑框中选取字符SetExtendUI选取默认的用户界面或扩展界面SetHorizontalExtent设置作为组合框部件的列表框可水平滚动的像素宽度SetItemDate设置与组合框相关的32位值SetItemDatePtr设置与组合框相关的32位值的指针SetItemHeight设置组合框中的列表框或编辑框选项的高度SetLocale设置组合框的当前标识符SetTopIndex通知组合框的列表框部分在最上方显示

27、选项ShowDropDown显示或隐藏列表框SetCurSelint SetCurSel( int nSelect ); 返回值 调用成功时返回选中的项的下标。如果 nSelect 大于列表中项的个数,则返回CB_ERR 。如果 nSelect 为 -1 ,则清除当前的选择并返回 CB_ERR 。 参数 nSelect 指定要选中的字符串的下标。如果为 1 ,则清除当前的选择,编辑控件中的内容设置为空。 说明 本函数在组合框的列表框中选择一个字符串。必要时列表框会滚动,以使该字符串在列表的可视区内 (列表是可见的时 )。编辑控件中 的文本将相应地变为选中的字符串。此前在列表框中的选择将不复存在

28、。FindStringExactint FindStringExact( int nIndexStart, LPCTSTR lpszFind ) const;返回值:返回匹配的项的下标。未查找到匹配串时返回CB_ERR。参数: nIndexStart指定了查找开始的下标。当查到列表的结尾处时,又继续找到它标志的位置。如果设为1,则从列表的开始处开始查找匹配的串。 lpszFind指向一个以null结尾的字符串,该字符串中可以包括完整的文件名(包括扩展名)。查找过程是不区分大小写的。 说明:本函数用于查找组合框的列表中匹配指定字符串的第一个项,但不把它选为当前项。如果组合框是自定义的,但未设置C

29、BS_HASSTRING风格,FindStringExact会试图匹配双字值。GetLBText-MFCint GetLBText( int nIndex, LPTSTR lpszText ) const;void GetLBText(int nIndex, CString& rString ) const;返回值:返回字符串的字节数,不包括终结符null。如果nIndex指定的值无效,则返回CB_ERR。参数: nIndex指明列表框中待拷贝的字符串的下标。 lpszText指向接收字符串的缓冲。缓冲必须能够容纳下待拷贝的字符串及其终结符null。 rString对CString对象的一个参

30、考。 说明:本函数用于从组合框的列表中拷贝一个字符串。第二种实现方式用拷贝来的文本填充一个CString对象。InsertStringint InsertString( int nIndex, LPCTSTR lpszItem );返回值:字符串被插入位置的基于零的索引。如果出错,则返回LB_ERR;如果无足够有效空间来存储新字符串,则返回LB_ERRSPACE。参数: nIndex指定插入字符串的基于零的索引。如果此参数为-1,则字符串添加到列表末尾。 lpszItem指向插入的空终止字符串的指针。 说明:插入字符串到列表框中。与AddString成员函数不同,InsertString不会使LBS_SORT 风格的列表被排序。GetWindowText函数功能该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控件,则拷贝控件的文本。但是,GetWindowText不能接收在其他应用程序中的控件的文本。 函数原型:Int GetWi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1