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);
}
相关推荐
眠りたいです33 分钟前
Qt音频播放器项目实践:文件过滤、元数据提取与动态歌词显示实现
c++·qt·ui·音视频·媒体·qt5·mime
陈天伟教授42 分钟前
(二)Python + 地球信息科学与技术 (GeoICT)=?
开发语言·python
SunnyKriSmile1 小时前
输入10个数并求最大值
c语言·算法
汤永红1 小时前
week2-[循环嵌套]数位和为m倍数的数
c++·算法·信睡奥赛
七仔的博客1 小时前
【摸鱼办公神器】七仔的桌面工具超进化 -> 灵卡面板 v1.1.9
windows·神器·摸鱼
码农阿豪1 小时前
Windows从零到一安装KingbaseES数据库及使用ksql工具连接全指南
数据库·windows
1白天的黑夜13 小时前
前缀和-560.和为k的子数组-力扣(LeetCode)
c++·leetcode·前缀和
CC__xy9 小时前
demo 通讯录 + 城市选择器 (字母索引左右联动 ListItemGroup+AlphabetIndexer)笔记
windows
七七&5569 小时前
2024年08月13日 Go生态洞察:Go 1.23 发布与全面深度解读
开发语言·网络·golang
java坤坤10 小时前
GoLand 项目从 0 到 1:第八天 ——GORM 命名策略陷阱与 Go 项目启动慢问题攻坚
开发语言·后端·golang