修改wxWidgets的可执行文件图标和版本号

来源:互联网 发布:字符串转json对象 编辑:程序博客网 时间:2024/06/05 11:14
初次接触wxWidgets,在写一个跨平台的程序时,发现在Windows平台上竟然无法通过下列代码更改exe可执行文件的图标:
SetIcon(wxICON(main));
但在Linux下测试是有效的。网上查资料,也没有人提到这个事。可能是我自学编程的原因吧,只好自己解决。通过研究wxWidgets的例子程序,发现他们都将图标放在了资源文件里(rc文件),决定尝试一下。这是资源文件:

#include <wx/msw/wx.rc>

app  ICON  "res/main.ico"

#define VERSIONINT  1,0,0,1
#define VERSIONSTR  "1, 0, 0, 1"

1 VERSIONINFO
    FILEVERSION     VERSIONINT
    PRODUCTVERSION  VERSIONINT
    FILEOS          VOS__WINDOWS32
    FILETYPE        VFT_UNKNOWN
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "CompanyName", "QPSOFT.COM"
            VALUE "FileDescription", "Portable Money"
            VALUE "FileVersion", VERSIONSTR
            VALUE "InternalName", "PMoney"
            VALUE "LegalCopyright", "Copyright ? 2008 QPSOFT.COM"
            VALUE "OriginalFilename", "pmoney.exe"
            VALUE "ProductName", "PMoney"
            VALUE "ProductVersion", VERSIONSTR
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 1033, 1200
    END
END

这是在MainFrm中的设置方式,并实现了跨平台:
#ifdef __WXMSW__
    SetIcon(wxICON(app));
#else
    SetIcon(wxICON(main));
#endif // __WXMSW__

问题解决,特别记录一下。哦,对了,gimp在编辑图标时真的很好用!可以编辑xpm图标,也可以编辑ico图标。
原创粉丝点击