您的位置:首页 > 编程语言

MFC对话框编程-Static Text

2012-04-03 16:15 155 查看
1.静态正文控件 Static Text
显示文本,矩形,图标,光标,位图,元文件。
只输出,不输入

创建一个CStatic 对象

BOOL Creat(LPCTSTR lpszText,DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID=0xffff);
dwStyle(风格)
SS_BITMAP 在静态控件中显示一幅位图(.BMP),由控件的文本(TEXT)指定一幅包含在资源中的位图文件(非文件名),该风格忽略控件的宽度和高度,控件将自动调整大小以适应位图。
SS_ICON 在静态控件中显示一幅图标(.ICO),由控件的文本(TEXT)指定一幅包含在资源中的图标文件(非文件名),该风格忽略控件的宽度和高度,控件将自动调整大小以适应图标。
SS_ENHMETAFILE 在静态控件中显示一增强幅图元文件(.EMF)。由控件的文本(TEXT)指定图元文件名。控件大小固定不变,图元文件按比例缩放显示在控件客户区中。
SS_BLACKFRAME 用系统颜色组的窗口边界色(缺省为黑色)绘制一个边框,框内使用与底部窗体相同的颜色(透明)。
SS_BLACKRECT 用系统颜色组的窗口边界色(缺省为黑色)绘制一个矩形实心控件。
SS_GRAYFRAME 用系统颜色组的屏幕背景色绘制一个边框,框内使用与底部窗体相同的颜色(透明)。
SS_GRAYRECT 用系统颜色组的屏幕背景色绘制一个矩形实心控件。
SS_WHITEFRAME 用系统颜色组的窗口背景色(缺省为白色)绘制一个边框,框内使用与底部窗体相同的颜色(透明)。
SS_WHITERECT 用系统颜色组的窗口背景色(缺省为白色)色绘制一个矩形实心控件。
SS_ETCHEDFRAME 用下凹的3D线条绘制一个边框,框内使用与底部窗体相同的颜色(透明)。
SS_ETCHEDHORZ 用下凹的3D线条绘制控件的上下两边,框内使用与底部窗体相同的颜色(透明)。
SS_ETCHEDVERT 用下凹的3D线条绘制控件的左右两边,框内使用与底部窗体相同的颜色(透明)。
SS_RIGHTJUST 与SS_BITMAP 或 SS_ICON 配合当需要对控件的大小进行自动调整时以控件的右下角为基准,只有控件的上边和左边的位置改变。
SS_NOPREFIX 禁止对字符“&”进行解释,通常字符“&”会被解释成在下一个字符加一个下画线,“&&”会被解释成一个字符“&”,用户可以使用SS_NOPREFIX风格来禁止这项解释。
SS_NOTIFY 当控件被用户单击或双击控件时向父窗口传送STN_CLICKED, STN_DBLCLK, STN_DISABLE, 或 STN_ENABLE 通知消息。
SS_OWNERDRAW 自绘静态控件,每当控件需要重画时,父窗口将收到WM_DRAWITEM消息。
SS_REALSIZEIMAGE 禁止根据位图或图标大小自动进行控件尺寸的调整,如果本常数被设定,大于控件的图片其超出部份将被截去。
SS_SUNKEN 绘制一个下沉的控件。
SS_CENTER 文本显示水平居中,显示之前先对文本进行格式化,超过控件宽度将自动换行。
SS_CENTERIMAGE 文本显示垂直居中。本常数还设定当位图或图标小于控件客户区时使用图片左上角点的颜色填充控件边缘。
SS_LEFT 文本显示居左,显示之前先对文本进行格式化,超过控件宽度将自动换行。
SS_LEFTNOWORDWRAP 文本显示居左,超过控件宽度部份将被截去,不进行自动换行处理。
SS_RIGHT 文本显示居右,显示之前先对文本进行格式化,超过控件宽度将自动换行。
SS_SIMPLE 文本在控件的左上角单行显示,不进行自动换行处理。父窗口进程不能对WM_CTLCOLORSTATIC消息进行处理。

CStatic 常用的成员函数
SetBitmap()

[align=left][/align]

CStatic *pStatic=new CStatic;
pStatic->Create(_T("my static"),WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(10,10,150,50),this);
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
HBITMAP hbitmap=::LoadBitmap(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP1));
pStatic->SetBitmap(hbitmap);
[align=left]获得hbitmap 还可以采用如下方法: [/align]

hBitmap=(HBITMAP)::LoadBitmapA(NULL,_T("C:\\Users\\Andy\\Documents\\Visual Studio 2010\\Projects\\BIOSEx\\BIOSEx\\res\\bitmap1.bmp"));
SetIcon()
SetCursor()

CStatic *pStatic=new CStatic;
pStatic->Create(_T("my static"),WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(10,10,150,50),this);
pStatic->ModifyStyle(0xF,SS_ICON);
HCURSOR hCursor=AfxGetApp()->LoadCursorA(IDC_CURSOR1);
//HICON hIcon=AfxGetApp()->LoadIconA(IDR_MAINFRAME);
pStatic->SetCursor(hCursor);
//pStatic->SetIcon(hIcon);

本文出自 “代码” 博客,请务必保留此出处http://andydeng.blog.51cto.com/4768445/824688
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: