Max częstot. odświe?żania dla danej rozdzielczośc

0

Przejrzałem helpa i Faq, nie znalazłem do końca na to odpowiedzi - jeżeli takowa jest to najmocniej przepraszam.

Zmieniam w programie rozdzielczość. Wiadomo, że częstotliwość odświeżania zjeżdża wtedy do 60Hz. Jak zrobić by dla zadanej przez użytkownika rozdzielczości, program sam dobierał najwyższą możliwą dla danego monitora i wybranej rozdzielczości częstotliwość odświeżania?

Domyślam się, że do dmdisplayfrequency należy przypisać wyszukaną w pętli częstotliwość. Jednak nie wiem właśnie jak to zrobić [stuk]

Z góry dziękuje za wszelką pomoc.

0

EnumDisplayDevices() + EnumDisplaySettings() + f1

0

Przyjrzałem się w Helpie EnumDisplaySettings ale nie dałem rady tego obsłużyć - za trudne jest to dla mnie. Z kolei EnumDisplayDevices nie znalazłem w helpie. Czy ktoś może mnie poratować kodem dla przykładowej rozdzielczości lub bardziej szczególowymi podpowiedziami - niestety ja dopiero się uczę, ale intensywnie :-)

Z góry dzięki

Czy naprawdę nikt nie umie mi pomóc? Gdzie mogę jeszcze ewentualnie o to pytać?

0

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/devcons_2303.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/devcons_84oj.asp

Przecież wszystko jest ładnie, dogłębnie opisane. Właściwie to wystarczy samo EnumDisplaySettings...

Jeśli zwrócona wartość była różna od false, to zostały wypełnione nastepujące pola:

dmBitsPerPel
dmPelsWidth
dmPelsHeight
dmDisplayFlags
dmDisplayFrequency

var
  mode:DEVMODE;
  i:DWORD;
begin
  i:=0;  // bo tryby numerowane są od 0
  while EnumDisplaySettings(nil,i,mode) do
    with mode do
      begin
        inc(i);
        iloscbitownapixel:=dmBitsPerPel;          
        szerokoscobrazu:=dmPelsWidth;
        wysokoscobrazu:=dmPelsHeight;
        dodatkoweflagi:=dmDisplayFlags;
        czestotliwoscodswierzania:=dmDisplayFrequency;
      end;
end;

I wybierasz sobie z tego taki tryb pracy, jaki potrzebujesz.

// dżizas, przeciez to samo jest i w helpie i w msdnie, trudno zrozumiec?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.