Windows图形界面(GUI)-MFC-C/C++ - CStatic

目录

CStatic

基本概念

成员函数

示例代码


CStatic

基本概念
  • 图像类型:图片控件可以显示多种类型的图像,包括位图(BMP)、图标(ICO)、元文件(WMF)等。

  • 样式设置:通过设置控件的样式,可以定义图片控件的行为和外观,例如是否居中显示图像。

  • 资源绑定:图片控件可以绑定到资源中的图像,或者动态加载图像文件。

成员函数
  • Create:创建图片控件并将其附加到 CStatic 对象。

  • SetBitmap:设置图片控件显示的位图。

  • SetIcon:设置图片控件显示的图标。

  • SetCursor:设置图片控件显示的光标图像。

  • SetEnhMetaFile:设置图片控件显示的增强型元文件。

  • GetBitmap:获取图片控件当前显示的位图句柄。

  • GetIcon:获取图片控件当前显示的图标句柄。

  • GetCursor:获取图片控件当前显示的光标句柄。

  • GetEnhMetaFile:获取图片控件当前显示的增强型元文件句柄。

示例代码
cpp 复制代码
void CMainDlg::OnBnClickedButton24()
{
	// 位图对象
	CBitmap bitmap;

	// 加载资源
	bitmap.LoadBitmapW(IDB_BITMAP3);

	// 控件对象
	CStatic* pStaticPic = (CStatic*)GetDlgItem(IDC_STATIC_PIC);

	// 修改风格
	pStaticPic->ModifyStyle(SS_ENHMETAFILE, SS_BITMAP | SS_CENTERIMAGE);

	// 设置位图
	pStaticPic->SetBitmap(bitmap);
	
	// 设备对象
	CDC* pDC = pStaticPic->GetDC();
	CDC pCom;
	pCom.CreateCompatibleDC(pDC);

	// 图像资源
	pCom.SelectObject(&bitmap);

	// 控件数据
	CRect rect;
	pStaticPic->GetClientRect(rect);

	// 图像数据
	BITMAP bitmapInfo;
	bitmap.GetBitmap(&bitmapInfo);

	// 提升质量
	pDC->SetStretchBltMode(COLORONCOLOR);

	// 动态调整
	pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &pCom, 0, 0, bitmapInfo.bmWidth, bitmapInfo.bmHeight, SRCCOPY);

	// 释放对象
	ReleaseDC(pDC);
}
相关推荐
WJ.Polar11 小时前
Java封装、继承、多态
java·开发语言
摇滚侠11 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
weixin_3077791311 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
AI wins11 小时前
c++新增頭文件
c++
Uncertainty!!12 小时前
Windows 10 与 Ubuntu 22.04 通过 Samba 共享文件夹
windows·ubuntu·共享文件夹
Shadow(⊙o⊙)12 小时前
仿muduo实现高并发服务器——事件就绪管理Channel.hpp
服务器·c++
爱读书的小胖12 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言
鸽鸽程序猿12 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
by2099912 小时前
哈希表——快速找到数据:冲突、删除与扩容的实现
数据结构·c++·哈希算法·散列表
Lhappy嘻嘻12 小时前
读懂 JVM:内存模型、类加载机制、分代回收
java·开发语言·jvm