Kaczka Napisano Listopad 30, 2019 Autor Zgłoś Udostępnij Napisano Listopad 30, 2019 jak wyswietlic plik bmp otworzyny poleceniem getopenfilename(&X)?? probowalem wczytac go funkcja loadbitmap(....,X) :? ale nie dziala HELP Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Trix Napisano Listopad 30, 2019 Zgłoś Udostępnij Napisano Listopad 30, 2019 Jeżeli chcesz załadować bitmapę z pliku to trzeba użyć funkcji LoadImage. Wydaje mi się, że nie możesz tego zrobić tak jak pokazałeś ponieważ u Ciebie X jest prawdopdobnie strukturą typu OPENFILENAME, która to przechowuje między innymi nazwę pliku wybranego przez użytkownika więc nie możesz jej tak bezpośrednio przekazać funkcji LoadBitmap. Nazwa pliku wybranego przez użytkownika znajduje się w składowej struktury OPENFILENAME. Jak to wszystko ładnie zrobić jest pokazane w artykule Pinolca: https://winapi.org/index.php?option=content&task=view&id=27&Itemid=28 pozdrawiam Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Kaczka Napisano Grudzień 1, 2019 Autor Zgłoś Udostępnij Napisano Grudzień 1, 2019 przczytalem artykul juz wczesniej :P laduje do loadimage() jak i loadbitmap() nazwe pliku zapisywana w strukturze OPENFILENAME -lpstrFile lub lpstrFileTitle i dalej nic :? chyba cos zle robie zdaje mi sie ze musze jednak urzyc loadbitmap do przeciez laduje to z zasobow a loadimage sluzy do zaladowania z konkretnego pliku prosze o pomoc Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Trix Napisano Grudzień 1, 2019 Zgłoś Udostępnij Napisano Grudzień 1, 2019 Pokaż fragment kodu, kóry ładuje bitmapę... Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Kaczka Napisano Grudzień 2, 2019 Autor Zgłoś Udostępnij Napisano Grudzień 2, 2019 uporalem sie z ladowaniema bitmapy ale nie chce mi sie wyscwiatlic obrazek :? kod: OPENFILENAME ofn; .... ofn.lpstrFile = szFileName; ... if(GetOpenFileName(&ofn)){ hbitmap = (HBITMAP) LoadImage(hInst,szFileName , IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); hdc = GetDC(hwnd); // pobierz kontekst memDC = CreateCompatibleDC(hdc); // stworz ko SelectObject(memDC,hbitmap); // wybierz bitmape BitBlt(hdc, LOWORD(lParam), HIWORD(lParam), 145, 160, memDC, 0, 0, SRCCOPY); // wyswietl bitmape ReleaseDC(hwnd, hdc); // zwolnij konteksty DeleteDC(memDC); break; } kompilacja nie zwraca bledow, jednak nie pokazuje wybanej bitmapy Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Trix Napisano Grudzień 3, 2019 Zgłoś Udostępnij Napisano Grudzień 3, 2019 hmm Wydaje się być wszystko w miarę ok. Zrobiłem mały programik, który właściwie jest prawie dokładnie taki sam jak twój ( fragment ładowania i wyświetlania bitmapy) i wszystko działa jak należy. Widać, że wywołujesz te funkcje w procedurze obsługi okna (lParam) - może parametry, które przekazujesz są niewłaściwe? Próbowałeś debugować program? Możesz ewentualnie spróbować załadować jakąś bitmapę, podając bezpośrednio wartości w funkcjach, a nie przekazując je z innych funkcji (np. ścieżkę w LoadImage). Może funkcja GetOpenFileName zwraca 0? Może niepoprawnie zainicjalizowałeś strukturę ofn? pozdrawiam Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.