HwndSource Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Win32 penceresinde Windows Presentation Foundation (WPF) içeriği sunar.
public ref class HwndSource : System::Windows::PresentationSource, IDisposable, System::Windows::Interop::IKeyboardInputSink, System::Windows::Interop::IWin32Window
public class HwndSource : System.Windows.PresentationSource, IDisposable, System.Windows.Interop.IKeyboardInputSink, System.Windows.Interop.IWin32Window
type HwndSource = class
inherit PresentationSource
interface IDisposable
interface IWin32Window
interface IKeyboardInputSink
type HwndSource = class
inherit PresentationSource
interface IDisposable
interface IKeyboardInputSink
interface IWin32Window
Public Class HwndSource
Inherits PresentationSource
Implements IDisposable, IKeyboardInputSink, IWin32Window
- Devralma
- Uygulamalar
Açıklamalar
Önemli
Bu sınıfın birçok üyesi İnternet güvenlik bölgesinde kullanılamaz.
, HwndSource WPF içeriği içerebilen bir Win32 penceresi uygular. Penceredeki WPF içeriği düzenlenir, ölçülür ve işlenir; ve giriş için etkileşimlidir. HwndSource özellikle Win32 ile birlikte çalışması için tasarlandığından, bu sınıf birkaç alt düzey Win32 özelliğini kullanıma sunar. Aşağıdakileri yapmak için bu sınıfı kullanabilirsiniz:
Pencere stillerini, pencere sınıfı stillerini ve genişletilmiş pencere stillerini belirtin.
Pencere yordamını bağla.
Pencere tutamacına (HWND) erişim sağlayın.
Pencereyi yok et.
HwndSource sınıfı genel birlikte çalışabilirlik için tasarlanmıştır ve yönetilen HWND sarmalayıcısı olarak tasarlanmamıştır. Genel olarak, pencere veya durumunu incelemek için özellikleri işlemek için yönetilen yöntemler sağlamaz. Bunun yerine, HwndSource sınıfı özelliği aracılığıyla Handle Win32 pencere tutamacına (HWND) erişim sağlar ve bu, pencereyi işlemek için PInvoke teknikleri aracılığıyla Win32 API'lerine geçirilebilir.
İnşaat
öğesinin HwndSource birçok yönü yalnızca yapım zamanında belirtilebilir. oluşturmak HwndSourceiçin önce bir HwndSourceParameters yapı oluşturun ve istenen parametrelerle doldurun. Bu parametreler şunları içerir:
Sınıf, pencere ve genişletilmiş pencere stilleri. Pencere oluşturulduktan sonra stilleri değiştirmek için PInvoke kullanmalısınız. Pencere oluşturulduktan sonra tüm stiller değiştirilemez. Pencere stillerini değiştirmeden önce Win32 belgelerine bakın.
Pencerenin başlangıç konumu.
Pencerenin, boyutun belirtilip belirtilmediğinden veya WPF içeriğinin belirlenen boyutundan belirlenmesinden kaynaklanıp belirlenmeyeceğini içeren ilk boyutu.
Üst pencere.
HwndSourceHook pencere yordam zincirine dahil etmek için. Oluşturma zamanında bir kanca belirtirseniz, pencere için tüm iletileri alır. Pencere oluşturulduktan sonra kanca eklemek için kullanabilirsiniz AddHook .
Saydamlık ayarları. WPF içeriğinin piksel başına saydamlığına göre masaüstündeki diğer pencerelerle uyumlu olacak şekilde üst düzey bir pencere yapılandırılabilir. Bunu etkinleştirmek için içindeki özelliğini HwndSourceParameters olarak
true
ayarlayınUsesPerPixelOpacity. Bu özellik yalnızca inşaat zamanında ve yalnızca oluşturucu imzası aracılığıyla HwndSource(HwndSourceParameters) belirtilebilir ve çeşitli sınırlamalar uygular.
Yapıyı HwndSourceParameters doldurduktan sonra oluşturucusunun HwndSource(HwndSourceParameters) öğesine HwndSourcegeçirin.
Nesne Ömrü
, HwndSource normal bir ortak dil çalışma zamanı (CLR) nesnesidir ve yaşam süresi çöp toplayıcı tarafından yönetilir. HwndSource yönetilmeyen bir kaynağı temsil ettiğinden uygular HwndSourceIDisposable. Zaman uyumlu çağrısı Dispose , sahip iş parçacığından çağrılırsa Win32 penceresini hemen yok eder. Başka bir iş parçacığından çağrılırsa, Win32 penceresi zaman uyumsuz olarak yok edilir. Belirli birlikte çalışma senaryoları için birlikte çalışabilir koddan açıkça çağrı Dispose yapılması gerekebilir.
Pencere Yordamları
sınıfı HwndSource kendi pencere yordamını uygular. Bu pencere yordamı düzen, işleme ve girişle ilgili olanlar gibi önemli pencere iletilerini işlemek için kullanılır. Ancak, pencere yordamını kendi kullanımınız için de bağlayabilirsiniz. Özelliği ayarlayarak HwndSourceParameters.HwndSourceHook oluşturma sırasında kendi kancanızı belirtebilir veya pencere oluşturulduktan sonra kanca eklemek ve kaldırmak için ve RemoveHook kullanabilirsinizAddHook. Kancalar, yerleşik işlemeden önce kancalarınızın yürütülmesini sağlayan son ilk çıkar sırası tarafından çağrılır. Asıl kancalar zayıf bir başvuru tarafından tutulur. Bu nedenle, kanca temsilcinizin ömrünü yönettiğinizden emin olun.
ve diğer birlikte çalışma sınıfları hakkında HwndSource daha fazla bilgi için bkz. WPF ve Win32 Birlikte Çalışma.
Oluşturucularının HwndSourceCreateWindowEx gibi Win32 işlevlerinin parametrelerine benzeyen parametreleri nasıl aldıklarına dikkat edin.
Ölçek dönüştürmeleri öğesine HwndSourceuygulanmamalıdırRootVisual. için bkz. Açıklamalar RootVisual.
Oluşturucular
HwndSource(HwndSourceParameters) |
İlk ayarları içeren bir yapı kullanarak sınıfının yeni bir örneğini HwndSource başlatır. |
HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr) |
Belirtilen sınıf stili, stil, genişletilmiş stil, x-y konumu, genişlik, yükseklik, ad ve üst pencere ile sınıfın yeni bir örneğini HwndSource başlatır. |
HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr, Boolean) |
Belirtilen sınıf stili, stil, genişletilmiş stil, x-y konumu, genişlik, yükseklik, ad ve üst pencere ile ve pencerenin otomatikleştirilip otomatikleştirilmeyeceğini belirterek sınıfın yeni bir örneğini HwndSource başlatır. |
HwndSource(Int32, Int32, Int32, Int32, Int32, String, IntPtr) |
Sınıfın HwndSource yeni bir örneğini belirtilen sınıf stili, stil, genişletilmiş stil, x-y konumu, ad ve üst pencere ile başlatır. |
Özellikler
AcquireHwndFocusInMenuMode |
Bu HwndSourceiçin pencere içeren WPF için Win32 odağının alınıp alınmayacağını belirleyen değeri alır. |
ChildKeyboardInputSinks |
Kayıtlı giriş havuzlarının sırasını alır. |
CompositionTarget |
Barındırılan pencere için görsel yöneticisini alır. |
DefaultAcquireHwndFocusInMenuMode |
yeni örnekleri HwndSourceiçin varsayılan AcquireHwndFocusInMenuMode değeri alır veya ayarlar. |
Dispatcher |
Dispatcher Bunun DispatcherObject ilişkili olduğu öğesini alır. (Devralındığı yer: DispatcherObject) |
Handle |
Bu HwndSourceiçin pencere tutamacını alır. |
IsDisposed |
Bu HwndSourceüzerinde çağrılıp çağrılmadığını Dispose() belirten bir değer alır. |
KeyboardInputSiteCore |
Bileşenin kapsayıcı IKeyboardInputSite arabirimine bir başvuru alır veya ayarlar. |
RestoreFocusMode |
Pencere için öğesini RestoreFocusMode alır. |
RootVisual |
Pencerenin öğesini RootVisual alır veya ayarlar. |
SizeToContent |
Pencerenin içeriğine göre boyutlandırılıp boyutlandırılmayacağını ve nasıl boyutlandırılıp boyutlandırılmayacağını alır veya ayarlar. |
UsesPerPixelOpacity |
Kaynak pencere içeriğinin piksel başına opaklığına uyulup uyulmadığını bildiren bir değer alır. |
Yöntemler
AddHook(HwndSourceHook) |
Tüm pencere iletilerini alan bir olay işleyicisi ekler. |
AddSource() |
Bilinen sunu kaynakları listesine türetilmiş bir PresentationSource sınıf örneği ekler. (Devralındığı yer: PresentationSource) |
CheckAccess() |
Çağıran iş parçacığının bu DispatcherObjectöğesine erişimi olup olmadığını belirler. (Devralındığı yer: DispatcherObject) |
ClearContentRenderedListeners() |
Olayın dinleyici ContentRendered listesini olarak |
CreateHandleRef() |
için pencere tutamacını HwndSourcealır. Pencere tutamacı bir HandleRef yapının parçası olarak paketlenmiş. |
Dispose() |
tarafından HwndSourcekullanılan tüm yönetilen kaynakları serbest bırakır ve olayı başlatır Disposed . |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
FromHwnd(IntPtr) |
HwndSource Belirtilen pencerenin nesnesini döndürür. |
GetCompositionTargetCore() |
Pencerenin görsel hedefini alır. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
HasFocusWithinCore() |
Havuzun veya içerdiği bileşenlerden birinin odaklanıp odaklanmadığını belirten bir değer alır. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnDpiChanged(HwndDpiChangedEventArgs) |
Pencere için DPI değiştirildiğinde çağrılır. |
OnMnemonicCore(MSG, ModifierKeys) |
Bu havuz için anımsatıcılardan (erişim anahtarları) biri çağrıldığında çağrılır. |
RegisterKeyboardInputSinkCore(IKeyboardInputSink) |
Kapsanan IKeyboardInputSink bileşenin arabirimini kaydeder. |
RemoveHook(HwndSourceHook) |
tarafından AddHook(HwndSourceHook)eklenen olay işleyicilerini kaldırır. |
RemoveSource() |
Türetilmiş bir PresentationSource sınıf örneğini bilinen sunu kaynakları listesinden kaldırır. (Devralındığı yer: PresentationSource) |
RootChanged(Visual, Visual) |
Kökün Visual değiştiğine ilişkin bildirim sağlar. (Devralındığı yer: PresentationSource) |
TabIntoCore(TraversalRequest) |
Odağı, havuzun ilk sekme durağına veya son sekme durağına ayarlar. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
TranslateAcceleratorCore(MSG, ModifierKeys) |
Klavye girişini tuş aşağı ileti düzeyinde işler. |
TranslateCharCore(MSG, ModifierKeys) |
Yöntem çağrılmadan önce OnMnemonic(MSG, ModifierKeys) WM_CHAR, WM_SYSCHAR, WM_DEADCHAR ve WM_SYSDEADCHAR giriş iletilerini işler. |
VerifyAccess() |
Çağıran iş parçacığının bu DispatcherObjectöğesine erişmesini zorlar. (Devralındığı yer: DispatcherObject) |
Ekinlikler
AutoResized |
Düzen öğesinin otomatik olarak yeniden boyutlandırmasına neden HwndSource olduğunda gerçekleşir. |
ContentRendered |
İçerik işlendiğinde ve kullanıcı etkileşimi için hazır olduğunda gerçekleşir. (Devralındığı yer: PresentationSource) |
Disposed |
Yöntemi bu nesnede Dispose() çağrıldığında gerçekleşir. |
DpiChanged |
Bu Hwnd izleyicisinin DPI'si değiştiğinde veya Hwnd farklı bir DPI'ye sahip bir monitöre taşındığında gerçekleşir. |
SizeToContentChanged |
Özelliğin değeri değiştiğinde SizeToContent gerçekleşir. |
Belirtik Arabirim Kullanımları
IKeyboardInputSink.HasFocusWithin() |
Bu üyenin açıklaması için bkz IList.Remove(Object). . |
IKeyboardInputSink.KeyboardInputSite |
Bu üyenin açıklaması için bkz KeyboardInputSite. . |
IKeyboardInputSink.OnMnemonic(MSG, ModifierKeys) |
Bu üyenin açıklaması için bkz OnMnemonic(MSG, ModifierKeys). . |
IKeyboardInputSink.RegisterKeyboardInputSink(IKeyboardInputSink) |
Bu üyenin açıklaması için bkz RegisterKeyboardInputSink(IKeyboardInputSink). . |
IKeyboardInputSink.TabInto(TraversalRequest) |
Bu üyenin açıklaması için bkz TabInto(TraversalRequest). . |
IKeyboardInputSink.TranslateAccelerator(MSG, ModifierKeys) |
Bu üyenin açıklaması için bkz TranslateAccelerator(MSG, ModifierKeys). . |
IKeyboardInputSink.TranslateChar(MSG, ModifierKeys) |
Bu üyenin açıklaması için bkz TranslateChar(MSG, ModifierKeys). . |