SetIcon的参数

WizardK 2007-12-21 10:39:27
在对话框上添加一个静态图片,选择ICON类型,在代码中写:

HICON hIcon = ::LoadIcon(NULL, MAKEINTRESOURCE(IDI_ICON_XXX));
GetDlgItem(IDC_STATIC_XXX)->SetIcon(hIcon);

提示:error C2660: 'SetIcon' : function does not take 1 parameters

EVC中SetIcon的参数是什么?MSDN也没有说
...全文
541 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lasor 2012-08-01
  • 打赏
  • 举报
回复
使用STM_SETIMAGE消息
示例:
#define SET_STATIC_ICON(hwndCtl, hIcon) ((HICON)(UINT)(DWORD)::SendMessage((hwndCtl), STM_SETIMAGE , (WPARAM)(IMAGE_ICON), (LPARAM)(HICON)(hIcon)))

SET_STATIC_ICON(m_static.GetSafeHwnd(), m_hIcon);
bee0611 2011-11-08
  • 打赏
  • 举报
回复
顶一下,我也在此卡住了。
yumuhu 2011-06-22
  • 打赏
  • 举报
回复
如果是使用 SetBitmap() 的话就可以正确的现实。如果是使用 GetDlgItem(IDC_STATIC_XXX)->SetIcon(hIcon,true);
的话就不行了。

原因可能是因为 wince 的 CStatic 控件没有对 SetIcon 进行重载,所以直接调用 CWnd 的 SetIcon ,而 CWnd 的 SetIcon 是用来这个窗口图标的(true false 对应大小两种不同的图标)。

要设置 Static 的 ICON 到底应该怎么办???我今天找了一天的方法,还没有找到。
IT界的厨师 2011-01-10
  • 打赏
  • 举报
回复
毛啊 GetDlgItem(IDC_STATIC_XXX)->SetIcon(hIcon);
这样写的话SetIcon函数是2个参数:
GetDlgItem(IDC_STATIC_XXX)->SetIcon(hIcon,true);
WizardK 2007-12-21
  • 打赏
  • 举报
回复
将:

GetDlgItem(IDC_STATIC_XXX)->SetIcon(hIcon);

改成如下形式后:

((CStatic *)GetDlgItem(IDC_STATIC_XXX))->SetIcon(hIcon);

则提示:error LNK2019: unresolved external symbol "public: struct HICON__ * __thiscall CStatic::SetIcon(struct HICON__ *)"

缺少那个库文件呢?

19,524

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧