Problem z OnKeyPress

0

Mam problem z odtwarzaczem filmów. Chcę po wciśnięciu spacji zatrzymać odtwarzanie z czym nie ma problemu bo do paska postępu do procedury OnKeyPress dodaje kod zatrzymujący odtwarzanie, ale problem pojawia się wtedy gdy nic nie jest zaznaczone nie wiem co mogę zrobić aby kod działał bo nie mam gdzie go wrzucić.

Wystarczyło by dodać jakiś kod który sprawiłby że program myślałby że przed chwilą kliknąłem na okno odtwarzania(było by zaznaczone) wtedy nie było by problemu, ale nie wiem czy tak da się w ogóle zrobić

2

jesli pasek postepu jest zznaczony to pasek postepu dostanie onKeyPress.
jesli button bedzie zaznaczony to button dostanie onkeypress
jesli memo to memo.
jesli.... forma to forma. a jesli na formie ustawisz KeyPreview na true, to forma zawsze dostanie onkeypress. podstawy sie klaniaja.
jesli chcesz wykryc moment nacisniecia spacji gdy Twoje okno jest nieaktywne, musisz zalozyc hooka na klawiature, lub w timerze sprawdzac stan klawisza (getKeystate() )

0
  1. Ustawiłem KeyPreview na true i nadal nie działa może przez to że jest fullscreen.
  2. W timerze wpisałem coś takiego
 if GetKeyState(VK_Space) < 0 then FilterGraph1.Pause;

i działa ale nieprawidłowo. Działa raz za 1razem raz za 8 potem 13 nie wiem dlaczego (program odpalałem od nowa)

3

Powinno działąć ok dla Timera z możliwie najniższym Intervalem czyli 100 milisekund.

0

Problem rozwiązany po zmianie intevalu.

0

@olesio

Zrobiłem program:
Interval, Średnia arytmetyczna czasu 50 wykonań
1000: 1000
500: 500,03
400: 406.24
300: 312.51
200: 203.12
100: 108.10
90: 93.10
80: 92.14
70: 77.18
60: 62.48
50: 61.85
40: 46:55

Faktycznie.

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