2024年4月28日发(作者:)

CStatic控件的基本使用

CStatic 继承于 CWnd,是一种特殊的窗体。他可以显示文本字符串(这也是最常用

的用法)、图标、指针(cursor)、位图和增强图文元件. 通常静态控件不提供输入和输出。

但是如果把他的属性设置为 SS_NOTIFY,他可以通知其父窗口的击鼠标事件。

如果文本不变,可以直接设置其 Caption。如果想在运行过程中改变其显示文本,可

以用如下方式:

CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC);

pStatic-SetWindowText("Just a Test of Static Control!");

如果要显示图标,则必须要设置窗口属性为 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);

如果要显示 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());

如果要显示图标,则必须要设置窗口属性为 SS_BITMAP 和 SS_CENTERIMAGE,实

例代码

//获得指向静态控件的指针

CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC);

//获得位图句柄