Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu mimariye genel bakış, Tablet ve Dokunmatik Teknolojiler için Windows Touch API'sine bağlam sağlar ve daha büyük Windows 7 mimarisine nasıl uyduğunu açıklar.
Windows Dokunma Girişi ve Hareketleri için İletiler
Windows Touch için mesajlaşma özellikleri, yürütme sırasında iletileri dinleyerek ve yorumlayarak etkinleştirilir. Aşağıdaki çizimde, iletilerin donanımdan nasıl oluşturulduğu ve Windows 7 tarafından uygulamalara nasıl gönderildiği gösterilmektedir.
Windows 7'nin çok dokunmalı donanımdan bir uygulamaya nasıl ileti gönderdiğini gösteren
Çizimin en soldaki sütununda, dokunmaya duyarlı donanım bir kullanıcıdan giriş alır. Ardından bir sürücü donanım ve işletim sistemi arasında iletişim kurar. Ardından işletim sistemi, uygulamanın HWND'sine gönderilen bir WM_TOUCH veya WM_GESTURE iletisi oluşturur. Uygulama daha sonra iletide kapsüllenen bilgilerle kullanıcı arabirimini güncelleştirir.
Uygulamalar varsayılan olarak hareketleri alır. Bir uygulama RegisterTouchWindow işleviyle Windows Touch giriş iletilerine kaydolmadığı sürece, hareket bildirimleri (WM_GESTURE iletiler) Windows tarafından oluşturulur ve bu uygulama penceresine gönderilir. Bir uygulama Penceresi dokunmatik iletileri almak için kaydoluyorsa, Windows Touch girişi (WM_TOUCH iletileri) bildirimleri bu uygulama penceresine gönderilir. Windows Dokunma ve hareket iletileri, açgözlü bir şekilde, uygulama Penceresinde bir dokunma veya hareket başladığında, hareket tamamlanana veya birincil dokunma sona erene kadar tüm iletileri o uygulamaya iletir.
Eski destek için Windows, WM_GESTURE iletilerin kabarıp kabarmadığını yorumlar ve ardından harekete eşlenen uygun iletileri GÖNDERIR veya GÖNDER'i gönderir. Eski desteğin bozulmasını önlemek için, DefWindowProckullanarak WM_GESTURE iletileri ilettiğinize emin olun. Eski destek hakkında daha fazla bilgiyi Windows Dokunma Hareketlerine Genel Bakış bölümünde bulabilirsiniz.
Manipülasyonlar ve Eylemsizlik
Windows Touch programcıları, birden çok kaynaktan gelen hareketleri, gerçekleşen hareket için anlamlı bir şekilde yorumlayabilmelidir. Microsoft, bu hesaplamaları gerçekleştirmek için işleme API'sini sağlar. Manipülasyonlar temelde, hareketin tamamını açıklayan değerlerle ilişkilendirilmiş hareketlerdir. Giriş verilerini işleme işlemcisine bağladıktan sonra, kullanıcının nesne üzerinde yaptığı eylemle ilgili bilgileri alabilirsiniz. Aşağıdaki şekilde, işlemeleri kullanmanın bir yolu gösterilmektedir.
bir nesnenin işleme işlemcisine geçirilen ve -imanipulationevents arabirimiyle olayları işleyen windows dokunma iletilerini gösteren
Çizimin sol üst kısmında, kullanıcı ekrana dokunarak dokunma iletileri oluşturur. Bu iletiler, odaktaki nesneyi belirlemek için kullanılan bir x koordinatı ve y koordinatı içerir. Odaktaki nesne bir işleme işlemcisi içerir. Ardından, TOUCHEVENTF_UP bayrağıyla WM_TOUCH iletide, kullanıcının odağındaki nesne seçilir, işleme işlemcisine başvurulur ve ileti işleme işlemcisine gönderilir. Bu temasla ilişkili sonraki WM_TOUCH iletileri, TOUCHEVENTF_UP bayrağına sahip WM_TOUCH iletisi alınana kadar ve seçili nesnenin referansı kaldırılmadan önce işleme işlemcisine gönderilir. Çizimin sağ alt bölümünde, dokunma iletileri oluşturulurken oluşturulan işleme olaylarını işlemek için _IManipulationEvents arabirimini uygulayan bir işleme olay havuzu kullanılır. Olay havuzu, oluştukları sırada işleme olaylarını temel alarak arabirimde güncelleştirmeler gerçekleştirebilir.
Windows Touch uygulamalarında, nesnelerin artık dokunulmadığında aniden durması yerine sorunsuz bir şekilde durması için basit fiziğe yer vermek yaygındır. Microsoft, uygulamanızın diğer uygulamalara benzer şekilde davranabilmesi için bu basit fizik hesaplamalarını gerçekleştirmek için Eylemsizlik API'sini sağlar. Bu, sağlam fizik işlevselliği oluşturmanız için gereken çabadan da sizi kurtarır. Aşağıdaki şekilde eylemsizlik özelliğini nasıl kullanabileceğiniz gösterilmektedir.
Eylemsizlik ve işleme arasındaki benzerliklere dikkat edin. İkisi arasındaki tek fark, eylemsizlik durumunda yorumlanan iletilerin işleme işlemcisi yerine bir eylemsizlik işlemcisine verilmesi ve eylemsizlik işlemcisinin olayları tetiklemiş olmasıdır. Çizimin sol üst kısmındaki WM_TOUCH iletisi ve TOUCHEVENTF_UP bayrağı ile, bir eylemsizlik işlemcisi ve bir işleme işlemcisi içeren odaktaki nesneyi tanımlamak için dokunmatik iletiler kullanılır. Sonraki WM_TOUCH iletileri işleme işlemcisine gönderilir ve işleme işlemcisi uygulama kullanıcı arabiriminde güncelleştirmeler gerçekleştirir. Manipülasyon tamamlandıktan sonra, manipülasyondan elde edilen hız değerleri ile bir eylemsizlik işlemcisi ayarlanır. Orta sütunda gösterildiği gibi, İşlem veya ProcessTime yöntemi, ayrı bir iş parçacığında zamanlayıcı veya başka bir döngü kullanılarak IInertiaProcessor arabirimi üzerinde çağrılır ve bu çağrılar işlemcinin işlenmesinin bittiğini belirtene kadar devam eder. Bu çağrılar yapılırken, _IManipulationEvents arabirimini temel alan bir işleme olay havuzu tarafından işlenen işleme olayları oluşturulur. Çizimin sağ alt bölümünde, bu olay havuzu daha sonra olay havuzundaki olay işleyicileri aracılığıyla gerçekleştiğinde işleme olaylarını temel alarak uygulama kullanıcı arabiriminde güncelleştirmeler gerçekleştirir.
İlgili konular