MFC 第 3 篇:static text 静态文本

最近更新于 2025-03-01 09:45

测试环境

设置值和读取值

新建一个 MFC 应用,项目取名为 staticTextProject
file

应用程序类型:基于对话框
file

默认的模板就有一个静态文本和两个按钮
file

在静态文本的属性里修改它的 ID,默认值为 IDC_STATIC,无法为它创建变量,必须修改它,这里改为 IDC_TEXT1
file

在静态文本上右键添加变量
file

添加变量后,静态文本显示的内容就会跟随这个变量的值刷新。这里变量名设为 textVar,访问改为 private
file

把按钮的描述文字修改了,确定改为增加+1,取消改为获取值
file

分别双击增加+1获取值会为它们各自创建事件回调方法
file

因为这是从默认的确定和取消按钮改的,有默认的执行操作,将它们都删掉
file

写入实现

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

运行测试
file

file

显示图片

新建一个 MFC 应用 staticTextBmpProject
file

应用程序类型:基于对话框
file

同样修改静态文本的ID
file

然后把控件拉大一些
file

编辑项目Dlg源文件,编辑OnInitDialog函数,在 TODO 位置下写入。注意需要准备一张 bmp 图片放在项目目录下,命名为 test.bmp
file

    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); // 设置图片到控件

file

运行调试
file

MFC 第 3 篇:static text 静态文本
Scroll to top