静态文本框是最简单的控件,它主要用来显示文本信息,不能接受用户输入,一般不需要连接变量,也不需要处理消息。
静态文本框的重要属性有:
- ID:所有静态文本框的缺省ID都是IDC_STATIC,静态ID,不响应任何消息(事件)
- 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()));