MFC的靜態文本框CStatic

靜態文本框是最簡單的控件,它主要用來顯示文本信息,不能接受用戶輸入,一般不需要連接變量,也不需要處理消息。

靜態文本框的重要屬性有:

  1. ID:所有靜態文本框的缺省ID都是IDC_STATIC,靜態ID,不響應任何消息(事件)
  2. Caption:修改顯示的內容

常用接口:

接口

功能

CWnd::SetWindowText

設置控件內容

CWnd::GetWindowText

獲取控件內容

CStatic::SetBitmap

設置位圖(後綴爲bmp的圖片)

關聯控件變量:

由於XXX_STATIC靜態ID是不能關聯變量,故需把ID修改後,再關聯變量:

在主對話框類OnInitDialog()中,完成相應接口測試:

         //設置靜態控件內容爲DOTA

         m_label.SetWindowText(TEXT("DOTA"));



         //獲取靜態控件的內容

         CString str;

         m_label.GetWindowText(str);

         MessageBox(str);


         //設置靜態控件窗口風格爲位圖居中顯示

         m_label.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);


         //通過路徑獲取bitmap句柄
#define HBMP(filepath,width,height)(HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,height,LR_LOADFROMFILE|LR_CREATEDIBSECTION)

      //靜態控件設置bitmap
       m_label.SetBitmap(HBMP(TEXT("./1.bmp"), 300, 250));

實際上需要將圖片適應控件的大小的,所以可以添加以下代碼:

//寬高應該按照控件的大小設置
	CRect rect;//定義窗體
	m_Pic.GetWindowRect(rect);//獲取窗體大小
	m_Pic.SetBitmap(HBMP(TEXT("./1.bmp"), rect.Width(), rect.Height()));