【发布时间】:2013-03-10 11:21:59
【问题描述】:
我对 CStatic 控件有以下问题:
当我调用函数SetIcon:
m_CStatic.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1));
它加载了一个大小为 14x14 像素的图标,但控件的实际大小变为 21x20,我无法修改它。
我试着打电话:
m_CStatic.SetWindowPos(NULL,0 , 0, 14, 14, SWP_NOMOVE);
但它只会缩小尺寸而不会调整图标的大小。结果我有一部分放大的图像。
有没有办法设置要加载的图标大小?
编辑
IDI_ICON1 的实际大小为 14x14 像素。
CStatic 控件的大小也是 21x20,我无法通过设计器更改它。
当我加载一个图标时,它会被拉伸。我不知道为什么。
【问题讨论】:
-
IDI_ICON1中的实际图标资源是多少?它是否包含多个图标大小?当你说“控件的实际大小变成21x21”时,你的意思是14x14像素的图标被拉伸到21x21像素吗?还是控件只是在其边界周围添加了填充?无论如何,请注意,当您更改大小时,静态控件不会调整其图标的大小。它不会缩放或缩小,只会剪辑。您必须自己进行图像处理。