您的位置:首页 > 其它

CStatic控件的基本使用

2011-01-07 14:59 302 查看

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: