1、静态文本控件风格精品文档静态文本控件的功能比较简单,可作为显示字符串,VC+之Static Box控件,图标,位图用,SS_BITMAP 显示位图SS_ICON 显示图标SS_CENTERIMAGE 图象居中显示控制显示的文本利用成员函数SetWindowText/GetWindowText用于设置/得到当前显示的文本,控制显示的图标利用成静态文本控件的功能比较简单,可作为显示字符串,图标,位图用。创建一个窗口可以使用成员函数:BOOL CStatic:Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParen
2、tWnd, UINT nID = 0xffff );其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对静态控件指明专门的风格。SS_CENTER,SS_LEFT,SS_RIGHT 指明字符显示的对齐方式。SS_GRAYRECT 显示一个灰色的矩形SS_NOPREFIX 如果指明该风格,对于字符&将直接显示,否则&将作为转义符,&将不显示而在其后的字符将有下划线,如果需要直接显示&必须使用&表示。SS_BITMAP 显示位图SS_ICON 显示图标SS_CENTERIMAGE 图象居中显示控制显示的文本利用成员函数SetWindowTe
3、xt/GetWindowText用于设置/得到当前显示的文本。控制显示的图标利用成员函数SetIcon/GetIcon用于设置/得到当前显示的图标。控制显示的位图利用成员函数SetBitmap/GetBitmap用于设置/得到当前显示的位图。下面一段代码演示如何创建一个显示位图的静态窗口并设置位图CStatic* pstaDis=new CStatic;pstaDis-Create(,WS_CHILDWS_VISIBLESS_BITMAPSSCENTERIMAGE,CRect(0,0,40,40),pWnd,1);CBitmap bmpLoad;bmpLoad.LoadBitmap(IDB_T
4、EST);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所有的行按照字母顺序进行排序在列表框生成后需要向其中加入或是删除行,可以利用:intAd
5、dString(LPCTSTRlpszItem)添加行,intDeleteString(UINTnIndex)删除指定行,intInsertString(intnIndex,LPCTSTRlpszItem)将行插入到指定位置。voidResetContent()可以删除列表框中所有行。通过调用intGetCount()得到当前列表框中行的数量。如果需要得到/设置当前被选中的行,可以调用intGetCurSel()/intSetCurSel(intiIndex)。如果你指明了选择多行的风格,你就需要先调用intGetSelCount()得到被选中的行的数量,然后intGetSelItems(in
6、tnMaxItems,LPINTrgIndex)得到所有选中的行,参数rgIndex为存放被选中行的数组。通过调用intGetLBText(intnIndex,LPTSTRlpszText)得到列表框内指定行的字符串。此外通过调用intFindString(intnStartAfter,LPCTSTRlpszItem)可以在当前所有行中查找指定的字符传的位置,nStartAfter指明从那一行开始进行查找。intSelectString(intnStartAfter,LPCTSTRlpszItem)可以选中包含指定字符串的行。在MFC4.2版本中添加了CCheckListBox类,该类是由CL
7、istBox派生并拥有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会自动列出相关的消息,并能自动产生消息映射代码。收集于网络,如有侵权请联系管理员删除