2016-03-31 18 views
1

Bir TTrackBar ve bir TMediaPlayer var, LiveBindigs özelliğini kullanarak TMediaPlayer konumuna göre TTrackBar konumunu değiştirmenin bir yolunu arıyorum.LiveBindings aracılığıyla TMediaPlayer.Position ve TTrackBar.Position'ı eşitleme

Sorun, TMediaPlayer ürününün TMediaPlayer.Position özelliğinin değişikliklerini izlemek için bir etkinlik ifade etmiyor, bu yüzden TTrackBar.Position cihazım eşitleyemiyor.

bir olay tetikleyici olmadan bileşen mülkiyet değişiklikleri izlemek mümkün mü? Uygun bir etkinlik olmaksızın belirli mülkün değişikliklerini izlemek mümkün değildir.

cevap

2

Sen de MediaPlayer.Position özelliğine binded türlü etkinliğe sahip istemem. Niye ya? Bir video konumunu oynuyor Örneğin

her 30 FPS böyle bir olayla bir videoyu oynatırken saniyede 30 kez ateş olacağını menans her çerçeve için değiştirilir. Bu nedenle, bu olaydaki koda bağlı olarak, uygulamanızı hızla bir taramayla getirebilirsiniz. Eğer formda bir zamanlayıcı yerleştirin ve sonra medya da trackbar güncellemek için belli aralıklarla oyuncu pozisyonunu kontrol etmek için sana verebileceğim

Yani iyi öneridir. Bir saniyelik aralığın yeterli olmaktan çok olduğuna inanıyorum ama yapacak olursanız daha kısa yapabilirsiniz.

Sadece emin olun siz de TrackBar pozisyon kullanıcı tarafından veya Timer'ında güncellenmektedir olmadığını görmek için bazı kontrol değişkeni kullanma olanağı arayan için trackbar kullanırsanız. Diğer mengene ise garip kekemeyle sonuçlanacaksın (bana ilk defa oldu). LiveBindings tüm Bunu başarmak gelince

yalnız ben bunun mümkün olduğunu sanmıyorum.

+0

Cevabınız için teşekkür ederiz! Bana ** TTimer ** obeject ile alternatif bir çözüm verdiniz. – WellingtonD

İlgili konular