CStatic控件的基本使用

来源:互联网 发布:boox和kindle对比 知乎 编辑:程序博客网 时间:2024/05/16 12:10

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);


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/solomon1/archive/2007/12/24/1965660.aspx

原创粉丝点击