Ikona projektu - MS Visual C++

Odpowiedz Nowy wątek
2011-10-14 19:19
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ć?

Pozostało 580 znaków

2011-10-14 23:35
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

edytowany 1x, ostatnio: Tomek2, 2011-10-15 00:06

Pozostało 580 znaków

2011-10-15 10:31
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.

Pozostało 580 znaków

2011-10-15 17:44
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.

edytowany 1x, ostatnio: Tomek2, 2011-10-15 17:45

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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