标题：CStatic
简介
CStatic
CObject└CCmdTarget└CWnd└CStaticCStatic类提供了一个Windows静态控件的性能。一个静态控件用来显示一个文本字符串，框，矩形，图标，光标，位图，或增强的图元文件。它可以被用来作为标签，框，或用来分隔其它的控件。一个静态控件不接收输入，也不提供输出；但是，如果它是用SS_NOTIFY风格创建的，则它可以通知其父有关设备点击的消息。创建一个静态控件分两步。首先，调用构造函数来构造此CStatic对象，然后调用Create成员函数来创建此静态控件并将它与该CStatic对象连接。如果你是在一个对话框中创建了一个静态控件（通过一个对话框资源），则当用户关闭这个对话框时，此CStatic对象被自动销毁。如果你是在一个窗口中创建了一个CStatic对象，则必须由你来销毁它。在一个窗口的堆栈中创建的CStatic对象将自动被销毁。如果你是使用new函数在堆中创建CStatic对象，则当你使用完后，必须调用delete来销毁这个CStatic对象。
#include <afxwin.h>
CStatic类成员
构造
CStatic构造一个CStatic对象初始化
Create创建Windows静态控件并将它与该CStatic对象连接操作符
SetBitmap指定要在此静态控件中显示的位图GetBitmap获取先前用SetBitmap设置的位图的句柄SetIcon指定一个要在此静态控件中显示的图标GetIcon获取先前用SetIcon设置的图标的句柄SetCursor指定要显示在此静态控件中的光标图像GetCursor获取先前用SetCursor设置的光标图像的句柄SetEnhMetaFile指定要显示在此静态控件中的增强的图元文件GetEnhMetaFile获取先前用SetEnhMetaFile设置的增强图元文件的句柄CStatic::Create
BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
返回值：如果成功则返回非零值；否则返回0；
参数： 
lpszText指定要放置在控件中的文本。如果是NULL，则表示没有文本是可见的。dwStyle指定静态控件的窗口风格。任何静态控件风格的组合都可以用于这个控件。rect指定静态控件的位置和大小。它可以是一个RECT结构或一个CRect对象。pParentWnd指定CStatic父窗口，通常是一个CDialog对象。它不能是NULL。nID指定静态控件的控件ID。说明：可以将下列窗口风格用于一个静态控件：
·WS_CHILD总要使用。·WS_VISIBLE经常使用。·WS_DISABLED很少使用。如果你准备在此静态控件中显示一个位图，光标，图标，或图元文件，你必须使用下列风格之一：
·SS_BITMAP此风格用于位图。·SS_ICON此风格用于光标和图标。·SS_ENHMETAFILE此风格用于增强的图元文件。对于光标，位图，或图标，你也可以使用下面的风格：
·SS_CENTERIMAGE用来使静态控件中的图像居中。请参阅：CStatic::CStatic
CStatic::CStatic
CStatic( );
说明：此成员函数用来构造一个CStatic对象。
请参阅：CStatic::Create
CStatic::GetBitmap
HBITMAP GetBitmap( ) const;
返回值：
返回一个当前位图的句柄，如果没有设置位图，则返回NULL。
说明：
此成员函数用来获取先前用SetBitmap设置的与CStatic关联的位图句柄。
请参阅：
CStatic::SetBitmap, STM_GETIMAGE, Bitmaps 
CStatic::GetCursor
HCURSOR GetCursor( );
返回值：
返回一个当前图标句柄。如果没有设置图标则返回NULL。
说明：
此成员函数用来获取先前用SetCursor设置的与CStatic关联的光标句柄。
请参阅：
CStatic::SetCursor, STM_GETIMAGE, Cursors 
CStatic::GetEnhMetaFile
HENHMETAFILE GetEnhMetaFile( ) const;
返回值：
返回一个当前增强图元文件句柄。如果没有设置增强的图元文件则返回NULL。
说明：
此成员函数用来获取先前用SetEnhMetaFile设置的与CStatic关联的增强的图元文件句柄。
请参阅：
CStatic::SetEnhMetaFile, STM_GETIMAGE 
CStatic::GetIcon
HICON GetIcon( ) const;
返回值：
返回一个当前图标句柄。如果没有设置增强的图标则返回NULL。
说明：
此成员函数用来获取先前用SetIcon设置的与CStatic关联的图标句柄。
请参阅：
CStatic::SetIcon, STM_GETICON, Icons 
CStatic::SetBitmap
HBITMAP SetBitmap( HBITMAP hBitmap );
返回值：
返回先前与此静态控件关联的位图的句柄。如果没有与此静态控件关联的位图，则返回NULL。
参数： 
hBitmap要绘制在此静态控件中的位图句柄。说明：
此成员函数用来将一个新的位图与此静态控件关联。
这个位图将被自动绘制在此静态控件中。缺省的，它将被绘制在左上角，并且此静态控件将根据位图的大小来调整尺寸。
你可以使用不同的窗口和静态控件风格，包括下列值： 
·SS_BITMAP此风格总是用于位图。·SS_CENTERIMAGE用来在此静态控件中居中。如果图像比静态控件大，则它将被剪切掉。如果它比静态控件小，则图像周围的空间将被用位图左上角的像素的颜色填充。请参阅：CStatic::GetBitmap, STM_SETIMAGE, Bitmaps 
CStatic::SetCursor
HCURSOR SetCursor( HCURSOR hCursor );
返回值：
返回先前与此静态控件关联的光标的句柄。如果没有与此静态控件关联的光标，则返回NULL。
参数： 
hCursor要绘制在此静态控件中的光标句柄。说明：
此成员函数用来将一个新的光标与此静态控件关联。
这个光标将被自动绘制在此静态控件中。缺省的，它将被绘制在左上角，并且此静态控件将根据光标的大小来调整尺寸。
你可以使用不同的窗口和静态控件风格，包括下列值： 
·SS_ICON此风格总是用于位图。·SS_CENTERIMAGE用来在此静态控件中居中。如果图像比静态控件大，则它将被剪切掉。如果它比静态控件小，则图像周围的空间将被用位图左上角的像素颜色填充。请参阅：CStatic::GetCursor, STM_SETIMAGE, Cursors 
CStatic::SetEnhMetaFile
HENHMETAFILE SetEnhMetaFile( HENHMETAFILE hMetaFile );
返回值：
返回先前与此静态控件关联的增强图元文件的句柄。如果没有与此静态控件关联的增强图元文件，则返回NULL。
参数： 
hMetaFile要绘制在此静态控件中的增强图元文件句柄。说明：
此成员函数用来将一个新的增强图元文件与此静态控件关联。
这个增强图元文件将被自动绘制在此静态控件中。缺省的，它将被绘制在左上角，并且此静态控件将根据增强图元文件的大小来调整尺寸。
你可以使用不同的窗口和静态控件风格，包括下列值： 
·SS_ENHMETAFILE此风格总是用于位图。请参阅：CStatic::GetEnhMetaFile, STM_SETIMAGE 
CStatic::SetIcon
HICON SetIcon( HICON hIcon );
返回值：
返回先前与此静态控件关联的图标的句柄。如果没有与此静态控件关联的图标，则返回NULL。
参数：
hIcon要绘制在此静态控件中的图标句柄。说明：
此成员函数用来将一个新的图标与此静态控件关联。
这个图标将被自动绘制在此静态控件中。缺省的，它将被绘制在左上角，并且此静态控件将根据图标的大小来调整尺寸。
你可以使用不同的窗口和静态控件风格，包括下列值：
·SS_ICON此风格总是用于图标。·SS_CENTERIMAGE用来在此静态控件中居中。如果图像比静态控件大，则它将被剪切掉。如果它比静态控件小，则图像周围的空间将被用位图左上角的像素颜色填充。请参阅：CStatic::GetIcon, STM_SETICON, Icons
CStatic控件的基本使用
CStatic 继承于 CWnd，是一种特殊的窗体。他可以显示文本字符串（这也是最常用的用法）、图标、指针(cursor)、位图和增强图文元件. 通常静态控件不提供输入和输出。但是如果把他的属性设置为 SS_NOTIFY，他可以通知其父窗口的击鼠标事件。
CStatic 用于显示文本如果文本不变，可以直接设置其 Caption。如果想在运行过程中改变其显示文本，可以用如下方式：
CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC); 
pStatic->SetWindowText("Just a Test of Static Control!");
CStatic 用于显示图标如果要显示图标，则必须要设置窗口属性为 SS_ICON 和 SS_CENTERIMAGE，实例代码如下：
CStatic* pStatic = (CStatic*)GetDlgItem(IDC_STATIC); 
LONG style = GetWindowLong(pStatic->GetSafeHwnd(), GWL_STYLE);style |= SS_ICON; 
style |= SS_CENTERIMAGE; 
SetWindowLong(pStatic->GetSafeHwnd(),GWL_STYLE,style); 
pStatic->SetIcon(m_hIcon);
CStatic 用于显示指针cursor如果要显示 cursor，则必须要设置窗口属性为 SS_ICON 和 SS_CENTERIMAGE，实例代码如下：
CStatic* pStatic = (CStatic*)GetDlgItem(IDC_STATIC); LONG style = GetWindowLong(pStatic->GetSafeHwnd(), GWL_STYLE); style |= SS_ICON; style |= SS_CENTERIMAGE; SetWindowLong(pStatic->GetSafeHwnd(),GWL_STYLE,style); pStatic->SetCursor(OnQueryDragIcon());
CStatic 用于显示位图如果要显示图标，则必须要设置窗口属性为 SS_BITMAP 和 SS_CENTERIMAGE，实例代码如下：
//获得指向静态控件的指针 CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC); //获得位图句柄 HBITMAP hBitmap=::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP2)); //LONG result = SetWindowLong(pStatic->GetSafeHwnd(),GWL_STYLE,style); //设置静态控件的样式，使其可以使用位图，并试位标显示使居中 pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE); //设置静态控件显示位图 pStatic->SetBitmap(hBitmap);