Comment définir ces icônes pour l'application?
J'utilise Visual Studio.
L'icône de la fenêtre de l'application est vide.
J'ai déjà ajouté un fichier project.rc à projeter et j'ai ajouté une ressource d'icônes
Et il affiche l'icône correcte dans la barre des tâches lorsque je l'ancre dans la barre des tâches.
Comment définir l'icône de la fenêtre de l'application C++ et l'icône de la barre des tâches?
0
A
Répondre
3
J'ai trouvé 2 méthodes de le faire après une recherche rapide, en supposant que vous traitez l'API WIN32 l'sous une certaine forme. Ce n'est en aucun cas une liste complète des méthodes disponibles.
1.Placez le membre hIcon
de la structure WNDCLASSEX
utilisée pour enregistrer votre fenêtre principale à une valeur appropriée comme le fait le code suivant. (Où EXAMPLE_ICON
est votre ressource d'icône)
WNDCLASSEX wcex = {};
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(EXAMPLE_ICON));
wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wcex.lpszMenuName = nullptr;
wcex.lpszClassName = "ExampleIconWindowClass";
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
2.You peut envoyer un message WM_SETICON
à votre fenêtre principale comme suit (Encore une fois, où EXAMPLE_ICON est votre ressource icône)
HICON hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(EXAMPLE_ICON));
SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
Voici la résultat final de l'une de ces méthodes:
Désolé pour le mauvais formatage, je ne suis toujours pas familier avec ce site.
merci, d'accord maintenant. –