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

你可能感兴趣的:(CStatic控件的基本使用)