Uygulama Sorunlarını Giderme
Bu bölüm yaygın sorunların çözümlerini sunar.
Genel Sorun Giderme
Kategori | Açıklama |
---|---|
Sorun | Windows Server 2008 çalıştırıyorum ve Windows Touch özellikleri çalışmıyor. |
Neden | Masaüstü Deneyimi'ni etkinleştirmemişsiniz. |
Çözüm | Sunucu Yöneticisi yönetim aracını açın: Başlangıç'a tıklayın, Yönetim Araçlarıüzerine gelin ve Sunucu Yöneticisiöğesine tıklayın. Sol sütundaki Özellikler öğesine tıklayın. Özellikler bölümünde Özellik Ekle tıklayın. Masaüstü Deneyimi'ni seçin, İleri 'e tıklayın ve sonra Yükleöğesine tıklayın. |
Sorun | Fare girişiyle Windows Touch girişi arasında fark kuramıyorum. | ||
Neden | Windows, kullanıcı ekrana tıkladığında eski destek için fare iletileri oluşturur. | ||
Çözüm | Kaynağı belirlemek için WM_LBUTTONDOWN ve WM_LBUTTONUP iletileri için GetMessageExtraInfo çağırabilirsiniz. Aşağıdaki kod bunun nasıl yapılabilmesini göstermektedir.
|
Kategori | Açıklama |
---|---|
Sorun | Windows 7'de Microsoft PixelSense uygulamalarını nasıl çalıştıracağım? |
Neden | Windows Touch ve Microsoft PixelSense uyumsuz. |
Çözüm | Windows 7 platformunu veya Microsoft PixelSense platformunu hedeflemeniz gerekir. |
Manipülasyonlar ve Eylemsizlik Sorunlarını Giderme
Kategori | Açıklama |
---|---|
Sorun | Uygulamam sebepsiz yere donuyor. Nesne arabirimlerimi başlatırken erişim ihlalleri alıyorum. |
Neden | IManipulationProcessor veya IInertiaProcessor arabirimleri kullanılırken CoInitialize çağrısı eksik. |
Çözüm | Bunun nedeni, CoInitialize çağrısı yapmadan Windows Touch Component Object Model (COM) nesnelerinin örneğini oluşturma olabilir. Bu durum bazen projeleri hareketleri kullanmaktan işlemeleri veya eylemsizlik arabirimlerini kullanmaya dönüştürdüğünüzde ortaya çıkar. |
Kategori | Açıklama |
---|---|
Sorun | Nesnem çevrilirken yanlış dönüyor. Tek parmak döndürme düzgün çalışmıyor. |
Neden | Bir nesnedeki pivot'ları yanlış ayarlama. |
Çözüm | Siz maniplasyon dönme noktalarını doğru ayarlayamıyorsunuz. PivotPointXve PivotPointYözelliklerini döndürmek istediğiniz nesnenin veya noktanın merkezineve PivotRadius özelliğini nesnenizin yarıçapı olarak ayarlayın. |
Windows Dokunma Girişi sorunlarını giderme
Kategori | Açıklama |
---|---|
Sorun | WM_TOUCH iletisini işledikten sonra sınır geri bildirimi almayı durduruyorum. |
Neden | WM_TOUCH mesajını işlem yapmadan tüketme. |
Çözüm | Windows Touch iletisini büyük olasılıkla DefWindowProc'e iletmeden kullanıyorsunuzdur ve bu da beklenmeyen davranışa neden olur. WM_TOUCH iletileri düzgün şekilde işleme hakkında daha fazla bilgi için Windows Dokunmatik İletileri kullanmaya başlama denetleyin. |
Sorun | Windows.h dosyasını da dahil ediyorum, ancak yine de WM_TOUCH tanımlanmadığını söylüyor. | ||
Neden | Targetver.h'deki Windows sürümü yanlış. | ||
Çözüm | Projenizde doğru Windows sürümünü ayarlamadınız. Aşağıdaki kod, Windows 7'de Windows Touch için düzgün ayarlanmış Windows sürümlerini gösterir.
|
Sorun | Dokunmatik giriş x koordinatlarım ve y koordinatlarım geçersiz görünüyor. Bunlar beklediğimden daha büyük değerler veya negatif değerler. | ||
Neden | Dokunma noktalarınızı piksellere dönüştürmeniz veya ekran koordinatlarını dönüştürmeniz gerekebilir. | ||
Çözüm |
TOUCH_COORD_TO_PIXEL ve ScreenToClientçağırdığınızdan emin olun. Aşağıdaki kod bunun nasıl yapılacağını gösterir.
Not: |
Kategori | Açıklama |
---|---|
Sorun | WM_TOUCH iletileri görmüyorum, ancak WM_GESTURE iletileri gördüğüm için Windows Touch'ın çalıştığını biliyorum. |
Neden | RegisterTouchWindowçağrısı eksik. |
Çözüm | WM_TOUCH ve WM_GESTURE iletileri birbirini dışlar. RegisterTouchWindowçağırmıyorsanız yalnızca WM_GESTURE iletileri alırsınız. |
Kategori | Açıklama |
---|---|
Sorun | Parmağıma dokunduğum zamandan uygulamamda giriş yaptığım zamana kadar olan küçük gecikmeleri fark ediyorum. |
Neden | Avuç içi algılama hatası girdide gecikmelere neden oluyor. |
Çözüm | TWF_WANTPALM, RegisterTouchWindowçağrılarında ayarlandığında avuç içi reddetme etkinleştirilir. Bu, yazılım girişin parmaktan mı, kalemden mi yoksa kullanıcının avucundan mı geldiğini test ederken küçük bir (100 ms) gecikmeye neden olur. TWF_WANTPALM bayrağı temizlenmiş RegisterTouchWindow çağırarak avuç içi reddetmeyi devre dışı bırakın. |
Windows Dokunma Hareketleri sorunlarını giderme
Kategori | Açıklama |
---|---|
Sorun | WM_GESTURE iletisini işledikten sonra sınır geri bildirimi almayı durduruyorum. Veya daha önce çalışan bir hareket şimdi çalışmıyor. |
Neden | WM_GESTURE iletisini işlenmeden tüketme. |
Çözüm | Windows Touch iletisini büyük olasılıkla DefWindowProc'e iletmeden kullanıyorsunuzdur ve bu da beklenmeyen davranışa neden olur. WM_GESTURE iletilerini doğru bir şekilde işlemek için daha fazla bilgiye 'Windows Hareketlerine Başlarken' göz atın. |
Kategori | Açıklama |
---|---|
Sorun | WM_GESTURE ileti görmüyorum, ancak WM_TOUCH iletileri gördüğüm için Windows Touch'ın çalıştığını biliyorum. |
Neden | RegisterTouchWindowçağrısı. |
Çözüm | WM_TOUCH ve WM_GESTURE iletileri birbirini dışlar. RegisterTouchWindowçağırırsanız, WM_GESTURE iletileri almazsınız. |
Sorun | Görmeyi beklediğim hareketlerin tümünü göremiyorum. Örneğin, tanımlayıcı GID_PAN hareketlerini görüyorum, ancak GID_ROTATEolanları görmüyorum. | ||
Neden | Döndürme hareketi gibi bazı hareketler varsayılan olarak etkinleştirilmez. | ||
Çözüm |
WM_GESTURENOTIFY başvurusunda açıklandığı gibi bir WM_GESTURENOTIFY iletisi aldığınızda SetGestureConfig çağırmanız veya WM_GESTURENOTIFY iletisi için bir işleyici eklemeniz gerekir. Aşağıdaki kod, döndürme desteğini etkinleştirmek için bir işleyicinin nasıl uygulanabileceğini gösterir.
Tipik hareket yapılandırmalarına daha fazla örnek için bkz. SetGestureConfig. |
Kategori | Açıklama |
---|---|
Sorun | Kaydırma hareketini gerçekleştirdiğimde uygulamamdaki özel kaydırma çubukları kaydırılmıyor. |
Neden | Doğru WM_*SCROLL iletileri için işleyiciler eksik. |
Çözüm | Özel kaydırma çubuklarınızdaki tüm WM_*SCROLL iletilerini işlemezsiniz. Eski destek aracılığıyla özel kaydırma çubuğu işlevselliğini korumak yerine WM_GESTURE iletisini işlemeniz önerilir. Kaydırma Çubuklarıyla Kaydırma için Eski Destekbölümünde ayrıntılı olarak açıklandığı gibi mesajları desteklemeniz gerekir. |
Kategori | Açıklama |
---|---|
Sorun | Hareketlerde gecikmeler yaşıyorum. |
Neden | Dokunuşlar el hareketleri için gecikmelere neden oluyor. |
Çözüm | Dokunma hareketleri, uygulamanızın WM_GESTURE iletilerini alması için geçen sürede gecikmelere neden olabilir. Kaydırma Çubuklarıyla Kaydırma için Eski Destek başlıklı belgede, flickleri devre dışı bırakma hakkında bilgi için bakınız. |
İlgili konular