Skocz do zawartości

Recommended Posts

Napisano

Czy może mi powiedzieć ktoś jaK załadować ikonę do paka tytułowego?? Czytałem o tym w help'ie ale nic z tego nie rozumiem. Jestem 'dość' początkujący więc bardzo bym prosił o komentarz do każdej linijki. Z góry dzięki.

Napisano

wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = MainWndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)COLOR_WINDOW;
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = lpszAppName

to jest moja klasa okna ale ja wiem gdzie to wpisać tylko nie wiem jak??

Napisano

Przecież masz już tam wpisaną funkcję LoadIcon.
Przypuszczam, że masz ikonkę gdzieś w zasobach i chcesz ją z nich załadować:

//----
wndclass.hIcon = LoadIcon(hInstance, "NAZWA_IKONY") ;
//----

W pierwszym podajesz instancje, a w drugim nazwę ikony w zasobie.
Jeśli nazwą zasobu jest liczba robisz tak:

//----
wndclass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(500)) ;
//----

I to na tyle...

Pozdrawiam

Napisano

Jest trochę inaczej. Ta klasa pochodzi z art'u 'Pierwszy program w WinAPI'
czy coś w tym rodzaju. Teraz chyba macie pojęcie jak początkujący jestem. I chcę dodać do paska tytulowego ikonę która np. nazywa ikona.ico się i jest w katalogu w którym jest plik źródłowy jak to zrobić żeby taką ikonę załadować do paska tytułowego. Chyba z tego co mi się wydaje to trzeba użyć dwie funkcje CreateIcon i LoadIcon tylko jak to zrobić i jakie parametry do tych funkcji podać oraz co one oznaczają??

Napisano

Witam!
Do załadowania ikony z pliku służy funkcja LoadImage
(możesz nią ładować też kursory i bitmapy)

Ja używam MASM-a wiec mogłem coś sknocić w tłumaczeniu na C++
ale napewno jest to ta funkcja szczególy dotyczące parametrów znajdziesz w helpie

LoadImage( 0, "Nazwa Pliku Ikony", IMAGE_ICON, 0, 0, LR_LOADFROMFILE || LR_DEFAULTSIZE)

Pozdrowienia
kAzek

Napisano

Witam

Oczywiście one_eddie ma rację wiec poprawny kodzik wygląda tak:

LoadImage(NULL, "Nazwa Pliku Ikony", IMAGE_ICON, NULL, NULL, LR_LOADFROMFILE | LR_DEFAULTSIZE)

Pomyliłem operatory ale tak jak pisałem nie znam dobrze tego języka (jak widać nawet podstaw) :(

Dziekuję za zwrócenie uwagi. Mam nadzieję że wszyscy zainteresowani wybaczą mi ten błąd.

Pozdrowienia
kAzek

Napisano

Witam

Uwazam,ze nie jest dobrym pomyslem czytanie ikonki z pliku,bo zawsze plik,ktos moze usunac,lepjej ja dodac do zasobow,wtedy sie wkompiluje w execa.Nie jest to trudne.

W Visualu wybierz
Project->Add Resource
Wybierz Icon nastepnie Import
Pojawi ci sie okienko gdzie mozesz wyszukac swoj plik *.ico
Po wskazaniu pliku i wybraniu open ikonka doda sie do zasobow.

Jak obejrzec zasoby?
W Visualu wybierz
View->Resource View

Tam masz takie drzewko zasobow(nazwa_pliku.rc)
Wybierz z niego Icon
Powinno ci sie dodac tam ikonka
Bedziesz widział w tym drzewku jej identyfikator zapewne IDI_ICOIN1

Teraz wystarczy wpisac w programie
zamiast
wndclass.hIcon = LoadIcon(NULL, IDI_WINLOGO);
to
wndclass.hIcon = LoadIcon (hInstance,MAKEINTRESOURCE(IDI_ICON1));

Pozdrawiam.

Napisano

No to zależy...
W tej troche starszę wersji był edytor zasobów, w menu project, i tam bez problemu mogłeś dodawać ikonkę. (taki fajny edyorek)

Ale najlepiej po prostu otwórz sobie plik z zasobami - z rozszerzeniem rc,
i wpisz nim definicje ikonki, takie cóś:

//----
NAZWA_IKONY ICON "sciezka.ico"
//----

no i potem tylko w programie piszesz:

//-----
wndclass.hIcon = LoadIcon (hInstance, "NAZWA_IKONY") ;
//----

I po kłopocie... ;)

Pozdrawiam

Napisano

Dzieki wszystkim za zaangażowanie w mój problem, a szczególnie codeguy'owi i RafalS'owi. Po setkach nie udanych prób udało mi się załadować tę ikonę. Great thanks!! :D

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...