如何在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 控件。
我正在尝试这样使用 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 控件。