一、效果圖

二、具體步驟
(1)設置內容和獲取內容
1、新建一個MFC應用程序,命名為02 CStaticText,應用程序類型選擇基於對話框,其他默認設置


2、修改靜態文本控件的顯示內容
新增一個靜態文本控件,右鍵屬性修改Caption,即可修改可顯示內容


3、新增兩個按鈕,一個用於設置靜態文本控件的內容,另一個用於獲取內容,效果如下:
4、為靜態文本控件添加變量
右鍵選擇Add Variable..

此時,會提示以下錯誤,這是由於以STATIC為結尾的ID不可以添加變量,需要修改ID

右鍵屬性,修改ID為ID_TEXT

重新添加變量,設置訪問權限為private,變量名稱為m_text,點擊Finish

找到DoDataExchange函數,我們可以看到控件名已經和一個變量名相綁定

5、為第一個按鈕添加點擊事件,設置靜態文本控件的內容
//點擊按鈕,讓哈哈變呵呵 void CMy02CStaticTextDlg::OnBnClickedButton1() { // TODO: Add your control notification handler code here //設置文本內容 m_text.SetWindowTextW(TEXT("呵呵")); }
6、為第二個按鈕添加點擊事件,獲取文本中的內容
//點擊按鈕,獲取文本中的內容,並且彈出 void CMy02CStaticTextDlg::OnBnClickedButton2() { // TODO: Add your control notification handler code here CString str; m_text.GetWindowTextW(str); MessageBox(str); }
運行程序,此時點擊第一個按鈕,可將哈哈設為呵呵,再點擊第二個按鈕,會彈出呵呵
(2)利用靜態文本控件顯示一個位圖
1、新建一個靜態文本控件,修改ID為ID_PIC,添加變量,設置訪問權限和變量名稱



2、將要顯示的圖片放到目錄下


2、在OnInitDialog初始化函數中添加顯示代碼
// TODO: Add extra initialization here //用static_Text顯示圖片 //設置靜態控件窗口風格為位圖居中顯示 m_pic.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE); //通過路徑獲取bitmap句柄 #define HBMP(filepath,width,height) (HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,height,LR_LOADFROMFILE|LR_CREATEDIBSECTION) //寬高設置應該按照控件的大小去設置 CRect rect; m_pic.GetWindowRect(rect); //靜態控件設置bitmap m_pic.SetBitmap(HBMP(TEXT("./1.bmp"), rect.Width(), rect.Height()));
(3)禁用按鈕
1、新增一個按鈕,修改顯示內容為^_^

2、為按鈕添加變量,設置訪問權限和變量名稱

3、添加點擊事件,編輯代碼如下
void CMy02CStaticTextDlg::OnBnClickedButton3() { // TODO: Add your control notification handler code here //點擊按鈕,修改顯示內容 m_btn.SetWindowTextW(TEXT("O(∩_∩")); //獲取內容 CString str; m_btn.GetWindowTextW(str); MessageBox(str); //設置點擊狀態 m_btn.EnableWindow(FALSE); }
4、效果如下


