如何在MFC中的静态文本控件上插入图标?

How to Insert Icon on Static Text Control in MFC?

我正在尝试这样使用 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 失败了。 我该怎么做?

恕我直言,CStatic 需要有一种风格 SS_ICON。

静态控件中不能同时有文本和图像。 CStatic 文档介绍了这个控件:

A static control displays a text string, box, rectangle, icon, cursor, bitmap, or enhanced metafile.

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

如果您同时需要文本和图像,您可以使用 2 个单独的静态控件,或者实现一个 owner-drawn 控件。