微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

wxWidgets 在 windows 平台上不显示应用程序图标

如何解决wxWidgets 在 windows 平台上不显示应用程序图标

我正在努力使用 wxWidgets 3.1.4 作为 ui 框架和 C++ 作为语言来更改 windows 平台上的应用程序图标,我尝试使用 msvc (VS2019) 和 gcc 进行编译,该应用程序运行良好,没有错误消息但没有应用程序图标,我搜索了文档但没有解决方案,即使我尝试编译和运行 wxWidgets 包含的演示应用程序,我也遇到了同样的问题。

我正在使用 widows 10、wxWidgets 3.1.4、msvc 最新版本、gcc 10.2。

如果您需要更多信息,请发表评论,我没有包含代码片段,因为我在网上用几个演示对其进行了测试,包括 wxWidgets 附带的演示,但仍然存在同样的问题。

这里是应要求提供的一些代码,该代码是从 wxWidgets 中包含的名为 bombs 的演示中提取的:

///////////////////////////////////////////////////////////////////////////////
// Name:        bombs.cpp
// Purpose:     Bombs game
// Author:      P. Foggia 1996
// Modified by: Wlodzimierz Skiba (ABX) since 2003
// Created:     1996
// copyright:   (c) 1996 P. Foggia
// Licence:     wxWindows licence
///////////////////////////////////////////////////////////////////////////////

#include "wx/wxprec.h"

#ifndef  WX_PRECOMP
#   include "wx/wx.h"
#endif //precompiled headers


#include "bombs.h"

#include <stdlib.h>

#include <time.h>

#ifndef wxHAS_IMAGES_IN_RESOURCES
#   include "bombs.xpm"
#endif

wxIMPLEMENT_APP(BombsApp);

// Called to initialize the program
bool BombsApp::OnInit()
{
    srand((unsigned) time(NULL));

    m_frame = new BombsFrame(&m_game);

    m_frame->NewGame(bombsID_EASY,false);

    return true;
}


BombsFrame::BombsFrame(BombsGame *game)
    : wxFrame(NULL,wxID_ANY,wxT("wxBombs"),wxDefaultPosition,wxSize(300,300),wxDEFAULT_DIALOG_STYLE|wxMINIMIZE_Box)
{
    m_game = game;
    m_easyCorner = false;
    m_lastLevel = bombsID_EASY;

    SetIcon(wxICON(bombs));

#if wxUSE_STATUSBAR
    CreateStatusBar();
#endif

    
    // Ensure the subwindows get resized o.k.
    //  OnSize(width,height);

    // Centre frame on the screen.
    Centre(wxBOTH);

    // Show the frame.
    Show();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。