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