X


[ Pobierz całość w formacie PDF ]
.if(FAILED(DDError)){return false;}// Zainicjalizuj interfejs DirectDraw dla urządzenia domyślnego (NULL).DDError=DirectDraw2Interface->Initialize(NULL);if(FAILED(DDError)){return false;}// Koniec wywołań COM.CoUninitialize();// Operacja zakończona pomyślnie.return true;Przedstawiony tu kod odwołuje się do interfejsu DirectDraw w wersji 2, zaś w przypadku jego nieznalezienia zwraca odpowiedni kod błędu.Znacznie lepszym rozwiązaniem byłoby oczywiście automatyczne wykorzystanie w programie najnowszej wersji interfejsu, jednak pozwolimy sobie pominąć to zagadnienie, jako że ograniczamy się tutaj do podstawowych elementów, dostępnych w każdej wersji standardu.Nie zmienia to faktu, że w praktycznych zastosowaniach zawsze warto korzystać z najnowszej wersji.Definiowanie ustawień ekranuStandard DirectDraw pozwala programiście zapomnieć o ograniczeniach związanych z bieżącymi ustawieniami pulpitu Windows, umożliwiając wybranie praktycznie dowolnego trybu pracy karty graficznej oraz działanie w trybie pełnoekranowym.Innymi słowy, projektant aplikacji ma do dyspozycji całą powierzchnię ekranu i może z nią robić, co zechce.Przed zmodyfikowaniem ustawień ekranu (rozdzielczości poziomej, pionowej oraz liczby kolorów) należy ustalić tzw.poziom współpracy lub uprzywilejowania (ang.cooperative level).Parametr ten określa sposób traktowania aplikacji przez system operacyjny oraz zasady jej współpracy z innymi programami.Użycie stałej DDSCL_EXCLUSIVE pozwala przekazać aplikacji pełną kontrolę nad zawartością ekranu; zsumowanie bitowe (operatorem |) powyższej stałej z DDSCL_FULLSCREEN umożliwia przejście do trybu pełnoekranowego, zaś stała DDSCL_NORMAL nakazuje programowi pozostanie w trybie okienkowym (nie można jej używać wraz z DDSCL_EXCLUSIVE - przyp.tłum.).Oprócz wymienionych tu wartości dostępnych jest jeszcze kilka innych, mniej istotnych stałych.Fragment kodu przedstawiony na wydruku 16.15 umożliwia przejście do trybu pełnoekranowego i przekazanie aplikacji wyłącznej kontroli nad zawartością ekranu.Wydruk 16.15.Przejście do trybu pełnoekranowego z wyłącznościąbool SetExclusiveMode(HWND Window){HRESULT DDError;if(DirectDraw2Interface==NULL)return(false);// Włącz tryb pełnoekranowy z wyłącznością.DDError = DirectDraw2Interface->SetCooperativeLevel(Window,DDSCL_ALLOWREBOOT |DDSCL_EXCLUSIVE |DDSCL_FULLSCREEN);// Niepowodzenie - zwróć informację o błędzie.if(DDError!=DD_OK){return(false);}return(true);}UwagaUżyta w wywołaniu funkcji SetCooperativeLevel() stała DDSCL_ALLOWREBOOT umożliwia użytkownikowi zamknięcie i ponowne uruchomienie systemu przez naciśnięcie klawiszy Alt+Ctrl+Delete.Interfejs DirectDraw pozwala także na programową zmianę bieżącej rozdzielczości ekranu (tj.SetDisplayMode():DirectDraw2Interface->SetDisplayMode(Width, Height, BitsPerPixel,RefreshRate, Flags);Parametry wywołania funkcji SetDisplayMode() opisano w tabeli 16.2.Tabela 16.2 [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • centka.pev.pl
  •  

    Drogi użytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczać Ci coraz lepsze usługi. By móc to robić prosimy, abyś wyraził zgodę na dopasowanie treści marketingowych do Twoich zachowań w serwisie. Zgoda ta pozwoli nam częściowo finansować rozwój świadczonych usług.

    Pamiętaj, że dbamy o Twoją prywatność. Nie zwiększamy zakresu naszych uprawnień bez Twojej zgody. Zadbamy również o bezpieczeństwo Twoich danych. Wyrażoną zgodę możesz cofnąć w każdej chwili.

     Tak, zgadzam się na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerów w celu dopasowania treści do moich potrzeb. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

     Tak, zgadzam się na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerów w celu personalizowania wyświetlanych mi reklam i dostosowania do mnie prezentowanych treści marketingowych. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

    Wyrażenie powyższych zgód jest dobrowolne i możesz je w dowolnym momencie wycofać poprzez opcję: "Twoje zgody", dostępnej w prawym, dolnym rogu strony lub poprzez usunięcie "cookies" w swojej przeglądarce dla powyżej strony, z tym, że wycofanie zgody nie będzie miało wpływu na zgodność z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.