0

我正在尝试这样使用CStatic::SetIcon()

HICON DSN_ICON = static_cast<HICON>(
      ::LoadImage(AfxGetInstanceHandle(),
      MAKEINTRESOURCE(IDI_ICON_MYICON),
      IMAGE_ICON,
      16, 16,
      LR_DEFAULTCOLOR) );

m_staticMyStatic.SetIcon(DSN_ICON);
m_staticMyStatic.SetWindowText( _T("test") );
m_staticMyStatic.EnableWindow(TRUE);

※ P.S : CSatic m_staticMyStatic;    // DDX_Control

当我使用 CButton 进行测试时,我成功了。但是 CStatic 失败了。我该怎么做?

4

2 回答 2

2

静态控件中不能同时包含文本和图像。CStatic文档介绍了该控件:

静态控件显示文本字符串、框、矩形、图标、光标、位图增强的图元文件。

静态控件的 Win32 文档列出了可用的静态控件类型。在任何给定时间,静态控件都可以是其中之一。

如果您需要文本和图像,您可以使用 2 个单独的静态控件,或者实现一个所有者绘制的控件。

于 2020-01-13T14:44:14.617 回答
1

恕我直言,CStatic 需要有一个样式 SS_ICON。

于 2020-01-13T14:20:32.720 回答