【问题标题】:How can I find my application's icon?如何找到我的应用程序的图标?
【发布时间】:2010-09-08 14:00:30
【问题描述】:

我正在尝试加载与调用我的函数的应用程序关联的图标。

我解决 GUI 应用程序问题的方法是这样的:

AfxGetApp()->LoadIcon(128); // 128 is the IDR_MAINFRAME icon

但是,对于某些非 gui 应用程序,Afx 函数在查找资源时会失败,因为 afxCurrentResourceHandle 为 NULL。

找到大型机图标的更好方法是什么?

PS。目前我可以通过测试afxCurrentResourceHandle != NULL 来解决它...希望我能做得更好。

【问题讨论】:

    标签: c++ windows icons application-resource


    【解决方案1】:

    听起来您假设只有 MFC 应用程序会调用您的函数。如果是这样,怎么样:

    HICON hIcon = AfxGetMainWnd()->GetIcon( TRUE );
    

    【讨论】:

    • 我特别遇到了控制台应用程序的问题。不确定是什么使它们成为“MFC”应用程序。感谢您的尝试,但TRUE 是一个指示布尔逻辑的宏,而GetIcon 专门要求UINT 参数。换句话说:这不应该编译;它只是通过将TRUE 宏定义为整数来实现的。
    • 你错了,先生。 AfxGetMainWnd() 返回一个 CWnd 指针。 CWnd::GetIcon 的签名是:HICON CWnd::GetIcon( BOOL bBigIcon )。检查文档。谢谢你的负1,伙计。
    猜你喜欢
    • 2010-09-20
    • 2020-09-01
    • 2012-02-12
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多