MFC静态文本控件相关操作

**静态文本控件:**在右侧工具箱选择Static Text
修改静态文本的内容:
方法一:右侧的Caption
方法二:直接修改
如何拿到静态文本控件的内容:
鼠标放到静态文本控件上右键—>点击添加变量 ,但这样做是添加不了的,必须将静态文本控件的ID做修改,之后再添加(所有以STATIC为结尾的文本不能添加变量)—>一般将访问设为private,类别为control,最后起个名字,如m_text(之后在文本框.cpp文件里的DoDataExchange会将你的变量名和你的控件名进行一个绑定)。这个变量就是控件里面的内容。之后在点击函数里用如下语句,即可修改文本内容:m_text.SetWindowText(TEXT(“修改内容”);
在这里插入图片描述
再添加一个按钮,双击进入点击事件;写相应代码,即可获取并弹出:
在这里插入图片描述
静态文本控件还可以设置图片:
第一步: 将静态文本控件尺寸拉大,鼠标移至主对话框的上边页,右键选择打开所在文件夹,将你的bmp格式的图片粘贴进来,
第二步: 修改控件ID,添加变量:作用域改为private,变量名起为m_pic,类别control因为一运行就有这个图片,而不是点击才有,所以应将程序写到初始化里,即在主对话框.cpp文件里的 BOOL CCStaticTextDlg::OnInitDialog()函数里,代码不需要记忆,需要时直接复制就行了。

// TODO: 在此添加额外的初始化代码
 //用static_Text显示图片
 //设置静态控件窗口风格改为显示图片且居中显示
 m_pic.ModifyStyle(1,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()));

点击按钮还可以修改按钮内容:
右键按钮添加变量,设置私有作用域和变量名m_btn,通过如下代码,和之前更改静态文本控件的函数一致,同为SetWindowText

void CCStaticTextDlg::OnBnClickedButton3()
{
 // TODO: 在此添加控件通知处理程序代码
 //点击按钮修改显示内容
 m_btn.SetWindowText(TEXT("O(∩_∩)O"));
  //获取里面的内容
  CString str;
  m_btn.GetWindowText(str);
 MessageBox(str);
 //设置点击状态
 m_btn.EnableWindow(FALSE);//按钮只能点击一次,不能点击第二次,
}

效果如下图所示:
在这里插入图片描述
点击完之后按钮图标变暗:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42308217/article/details/108237696