《静态文本控件风格.doc》由会员分享,可在线阅读,更多相关《静态文本控件风格.doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流静态文本控件风格【精品文档】第 4 页静态文本控件的功能比较简单,可作为显示字符串,VC+之Static Box控件,图标,位图用,SS_BITMAP 显示位图SS_ICON 显示图标SS_CENTERIMAGE 图象居中显示控制显示的文本利用成员函数SetWindowText/GetWindowText用于设置/得到当前显示的文本,控制显示的图标利用成静态文本控件的功能比较简单,可作为显示字符串,图标,位图用。创建一个窗口可以使用成员函数:BOOL CStatic:Create( LPCTSTR lpszText, DWORD dwStyle, con
2、st RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对静态控件指明专门的风格。SS_CENTER,SS_LEFT,SS_RIGHT 指明字符显示的对齐方式。SS_GRAYRECT 显示一个灰色的矩形SS_NOPREFIX 如果指明该风格,对于字符&将直接显示,否则&将作为转义符,&将不显示而在其后的字符将有下划线,如果需要直接显示&必须使用&表示。SS_BITMAP 显示位图SS_ICON 显示图标SS_CENTERIMAGE 图象居
3、中显示控制显示的文本利用成员函数SetWindowText/GetWindowText用于设置/得到当前显示的文本。控制显示的图标利用成员函数SetIcon/GetIcon用于设置/得到当前显示的图标。控制显示的位图利用成员函数SetBitmap/GetBitmap用于设置/得到当前显示的位图。下面一段代码演示如何创建一个显示位图的静态窗口并设置位图CStatic* pstaDis=new CStatic;pstaDis-Create(,WS_CHILDWS_VISIBLESS_BITMAPSSCENTERIMAGE,CRect(0,0,40,40),pWnd,1);CBitmap bmpLo
4、ad;bmpLoad.LoadBitmap(IDB_TEST);pstaDis-SetBitmap(bmpLoad.Detach();(LPCTSTRlpszText,DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID=0xffff);其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对列表控件指明专门的风格。LBS_MULTIPLESEL指明列表框可以同时选择多行LBS_EXTENDEDSEL可以通过按下Shift/Ctrl键选择多行LBS_SORT所有的行按照字母顺序进行排序在列表
5、框生成后需要向其中加入或是删除行,可以利用:intAddString(LPCTSTRlpszItem)添加行,intDeleteString(UINTnIndex)删除指定行,intInsertString(intnIndex,LPCTSTRlpszItem)将行插入到指定位置。voidResetContent()可以删除列表框中所有行。通过调用intGetCount()得到当前列表框中行的数量。如果需要得到/设置当前被选中的行,可以调用intGetCurSel()/intSetCurSel(intiIndex)。如果你指明了选择多行的风格,你就需要先调用intGetSelCount()得到被
6、选中的行的数量,然后intGetSelItems(intnMaxItems,LPINTrgIndex)得到所有选中的行,参数rgIndex为存放被选中行的数组。通过调用intGetLBText(intnIndex,LPTSTRlpszText)得到列表框内指定行的字符串。此外通过调用intFindString(intnStartAfter,LPCTSTRlpszItem)可以在当前所有行中查找指定的字符传的位置,nStartAfter指明从那一行开始进行查找。intSelectString(intnStartAfter,LPCTSTRlpszItem)可以选中包含指定字符串的行。在MFC4.2
7、版本中添加了CCheckListBox类,该类是由CListBox派生并拥有CListBox的所有功能,不同的是可以在每行前加上一个检查框。必须注意的是在创建时必须指明LBS_OWNERDRAWFIXED或LBS_OWNERDRAWVARIABLE风格。通过voidSetCheckStyle(UINTnStyle)/UINTGetCheckStyle()可以设置/得到检查框的风格。通过voidSetCheck(intnIndex,intnCheck)/intGetCheck(intnIndex)可以设置和得到某行的检查状态,。最后介绍一下列表框几种常用的消息映射宏:ON_LBN_DBLCLK鼠标双击ON_EN_ERRSPACE输入框无法分配内存时产生ON_EN_KILLFOCUS/ON_EN_SETFOCUS在输入框失去/得到输入焦点时产生ON_LBN_SELCHANGE选择的行发生改变使用以上几种消息映射的方法为定义原型如:afx_msgvoidmemberFxn();的函数,并且定义形式如ON_Notification(id,memberFxn)的消息映射。如果在对话框中使用列表框,ClassWizard会自动列出相关的消息,并能自动产生消息映射代码。