我的自定义图标未在 opengl 中显示

My custom icon not showing in opengl

我正在使用 openFrameworks 开发一个应用程序。据我所知,您只能从 openFrameworks 打开一个 openGL window,而这个 window 不知何故不使用我想要的 icon.ico。它显示在 .exe 文件和控制台上 window。

我尝试了一些方法:

  1. 控制台 window 正确显示图标。它在 icon.rc 中设置为主图标。我想也许控制台 window 先打开所以图标被分配,当另一个 window 打开时它不再分配我的图标。所以我试图摆脱控制台 window(无论如何我不需要它来发布)并且我将子系统从控制台更改为 windows。并将 main() 更改为 WINAPI WinMain(.... 等等。但这并没有解决我的图标问题,它仍然没有显示。
  2. 尝试更改 resource.h 和 icon.rc 中的一些内容,但没有太多更改,而且似乎没有任何效果。
  3. 尝试在 openFrameworks 的 openGL window 设置中搜索功能,但您只能更改屏幕尺寸和其他一些基本内容。

知道为什么这个屏幕没有显示我的图标吗?

提前致谢!

所以我这样修复它要感谢:三十二上校和 Barmak Shemirani!!如果不使用 openFrameworks,您可以使用类似的 get window 函数而不是使用 ofGetWin32Window() :)

#include "ofMain.h"
#include "ofApp.h"
#include "../resource.h"

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {

    ofSetupOpenGL(1280, 720,OF_WINDOW); 

    HWND hwnd = ofGetWin32Window();  
    HICON hMyIcon = LoadIcon(hInstance, MAKEINTRESOURCE(MAIN_ICON));
    SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)hMyIcon);

    ofRunApp(new ofApp());

}