最近更新于 2025-03-01 09:45
测试环境
设置值和读取值
新建一个 MFC 应用,项目取名为 staticTextProject
应用程序类型:基于对话框
默认的模板就有一个静态文本和两个按钮
在静态文本的属性里修改它的 ID,默认值为 IDC_STATIC,无法为它创建变量,必须修改它,这里改为 IDC_TEXT1
在静态文本上右键添加变量
添加变量后,静态文本显示的内容就会跟随这个变量的值刷新。这里变量名设为 textVar,访问改为 private
把按钮的描述文字修改了,确定改为增加+1,取消改为获取值
分别双击增加+1和获取值会为它们各自创建事件回调方法
因为这是从默认的确定和取消按钮改的,有默认的执行操作,将它们都删掉
写入实现
void CstaticTextProjectDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CString tmpStr;
static int count = 0;
++count;
tmpStr.Format(L"第%d次点击", count);
this->textVar.SetWindowTextW(tmpStr);
}
void CstaticTextProjectDlg::OnBnClickedCancel()
{
// TODO: 在此添加控件通知处理程序代码
CString tmpStr;
this->textVar.GetWindowTextW(tmpStr);
MessageBox(tmpStr);
}
运行测试
显示图片
新建一个 MFC 应用 staticTextBmpProject
应用程序类型:基于对话框
同样修改静态文本的ID
然后把控件拉大一些
编辑项目Dlg源文件,编辑OnInitDialog函数,在 TODO 位置下写入。注意需要准备一张 bmp 图片放在项目目录下,命名为 test.bmp
CStatic* pStatic = (CStatic*)GetDlgItem(IDC_BMP); // 获取静态文本控件的指针,和前面设置的 ID 一致
pStatic->ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE); // 修改控件样式
HBITMAP bitmap = (HBITMAP)::LoadImage(
AfxGetInstanceHandle(),
L"test.bmp", // 加载图片 test.bmp 文件
IMAGE_BITMAP,
0, 0,
LR_LOADFROMFILE
);
pStatic->SetBitmap(bitmap); // 设置图片到控件
运行调试
MFC 第 3 篇:static text 静态文本