MFC 静态文本框控件

来源:互联网 发布:电视机网络顶盒 编辑:程序博客网 时间:2024/04/30 04:21


<1>如果我们想在程序中动态创建静态文本框,而不是像前面那样直接从Toolbox中拖到对话框模板上,那么就需要使用CStatic类的成员函数Create。Create函数的原型如下:

virtual BOOL Create(   LPCTSTR lpszText,   DWORD dwStyle,   const RECT& rect,   CWnd* pParentWnd,   UINT nID = 0xffff );       参数说明:       lpszText:指定要在控件中显示的文字。如果为NULL则不会显示任何文字。       dwStyle:指定静态控件的风格。静态文本框一般都是对话框或其他窗口的子窗口,而且是可见的,所以应该包含WS_CHILD 和WS_VISIBLE风格,另外,MSDN中说明,还可以为其设置“static control styles”中风格的任意组合。下面大概为大家说明几个风格:SS_BITMAP 一个位图将显示在静态控件中,Create函数的lpszText参数字符串是资源文件中定义的位图名。此风格忽略宽度和高度参数,静态控件自动调整它的尺寸来适应位图 SS_BLACKFRAME 指定一个具有与窗口边界同色的框,默认为黑色 SS_BLACKRECT 指定一个具有与窗口边界同色的实矩形,默认为黑色 SS_CENTER 使显示的正文居中对齐,正文可以换行 SS_GRAYFRAME 指定一个具有与屏幕背景同色的边框 SS_GRAYRECT 指定一个具有与屏幕背景同色的实矩形 SS_ICON 使控件显示一个在资源中定义的图标,图标的名字由Create 函数的lpszText 参数指定,图标自动调整它的尺寸 SS_LEFT 左对齐正文,正文能回绕 SS_LEFTNOWORDWRAP 左对齐正文,正文不能回绕 SS_NOTIFY 使控件能向父窗口发送鼠标事件消息 SS_RIGHT 右对齐正文,可以回绕 SS_SIMPLE 使静态正文在运行时不能被改变并使正文显示在单行中 SS_WHITEFRAME 指定一个具有与窗口背景同色的框,默认为白色 SS_WHITERECT 指定一个具有与窗口背景同色的实心矩形,默认为白色        我们在对话框模板添加静态文本框时,可以在静态文本框的属性页中设置它的风格,很多都与上面的风格是对应的,例如,Simple属性就相当于SS_SIMPLE风格。       rect:指定静态控件的位置和大小,它可以是RECT结构体类型,也可以是CRect类的对象。       pParentWnd:指定静态控件的父窗口,通常是一个CDialog对象,不能是NULL。       nID:指定静态控件的ID。

 <2>CStatic类的成员函数简介

       简单介绍下CStatic类的主要成员函数,下面是成员函数列表。

GetBitmap获取由SetBitmap函数设置的位图的句柄GetCursor 获取由SetCurSor设置的光标的句柄GetEnhMetaFile获取由SetEnhMetaFile设置的增强图元文件的句柄GetIcon获取由SetIcon设置的图标的句柄SetBitmap设置要在静态控件中显示的位图SetCursor设置要在静态控件中显示的光标图片SetEnhMetaFile设置要在静态控件中显示的增强图元文件SetIcon设置要在静态控件中显示的图标

       除了上述成员函数外,由于CStatic是CWnd的派生类,CWnd的很多成员函数也可以使用,例如,GetWindowText、GetWindowRect、SetWindowText等。



这里做一个提示:在实现的过程中定义cstatic变量是一定要的定义在Dlg.h的Dlg类里面,然后记得如果是指针的话,要先new,分配内存,然后再在Dlg.cpp的初始化函数里面写create函数

0 0
原创粉丝点击