Ikona projektu - MS Visual C++

0

Witam.

Mam problem, przewaliłem sporą część internetu i nie mogę znaleźć odpowiedzi.
Mam projekt w bibliotece SDL, więc bez windowsowych bajerów, i chcę dodać ikonkę do projektu.
Jak to uczynić?

0

Nie znam SDL, ale tak najogólniej to robi się to przy rejestracji okna twojej aplikacji. Przykład z projektu wygenerowanego przez VS2010 Express:
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(IDI_CPPWINSANDBOX));
wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName   = MAKEINTRESOURCE(IDC_CPPWINSANDBOX);
wcex.lpszClassName  = szWindowClass;
wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

return RegisterClassEx(&wcex);

Chodzi o hIcon i hIconSm:
http://msdn.microsoft.com/en-[...]op/ms633577%28v=vs.85%29.aspx

0

A jaki plik .h będzie do tego potrzebny?
Bo w sumie programy z SDL to tylko podstawowe biblioteki znane z konsoli + biblioteki sdl.

0

Do rejestracji okna - windows.h.
Oprócz tego - identyfikatory zasobów są zdefiniowane w resources.h, np.:
#define IDI_CPPWINSANDBOX 107
#define IDI_SMALL 108

Następnie mamy plik np. MyApplication.rc, który includuje resources.h i definiuje nasze ikony:
IDI_CPPWINSANDBOX ICON "CppWinSandbox.ico"
IDI_SMALL ICON "small.ico"

W pliku, gdzie rejestrujemy okno naszej aplikacji (np. MyApplication.cpp), includujemy resources.h i używamy wymienionych identyfikatorów przy rejestracji okna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0