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.
Cihaz bağlamı, bir cihazın görüntü veya yazıcı gibi çizim öznitelikleri hakkında bilgi içeren bir Windows veri yapısıdır. Tüm çizim çağrıları, çizgi, şekil ve metin çizmek için Windows API'lerini kapsülleyen bir cihaz bağlamı nesnesi aracılığıyla yapılır. Cihaz bağlamları, Windows'ta cihazdan bağımsız çizime izin verir. Cihaz bağlamları ekrana, yazıcıya veya meta dosyaya çizim yapmak için kullanılabilir.
CPaintDC nesneleri, Windows'un yaygın bir deyimini kapsüller, önce BeginPaint işlevini çağırır, ardından cihaz bağlamında çizer ve sonra EndPaint işlevini çağırır. Oluşturucu CPaintDC çağırır, yıkıcı ise BeginPaint çağırır. Basitleştirilmiş işlem , CDC nesnesini oluşturmak, çizmek ve sonra nesneyi yok etmektir CDC . Çerçevede, bu işlemin çoğu bile otomatikleştirilmiştir. Özellikle, işlevinize OnDraw önceden hazırlanmış bir CPaintDC (aracılığıyla OnPrepareDC) geçirilir ve içine çekmeniz yeterlidir. Çerçeve tarafından yok edilir ve işlevinize OnDraw yapılan çağrıdan döndükten sonra temel alınan cihaz bağlamı Windows'a serbest bırakılır.
CClientDC nesneleri, bir pencerenin yalnızca istemci alanını temsil eden bir cihaz bağlamıyla çalışmayı kapsüller. CClientDC oluşturucu GetDC fonksiyonunu çağırır ve ReleaseDC yıkıcı fonksiyonunu çağırır.
CWindowDC nesneleri, çerçevesi de dahil olmak üzere tüm pencereyi temsil eden bir cihaz bağlamını kapsüller.
CMetaFileDC nesneleri, çizimi bir Windows meta dosyası halinde kapsüller.
CPaintDC'a geçirilen OnDraw'ın aksine, bu durumda OnPrepareDC'yi kendiniz çağırmanız gerekir.
Fare Çizimi
Çerçeve programındaki çizimlerin çoğu (ve dolayısıyla cihaz bağlamı çalışmalarının çoğu), görünümün OnDraw üye işlevinde gerçekleştirilir. Ancak, cihaz bağlamı nesnelerini başka amaçlarla kullanmaya devam edebilirsiniz. Örneğin, bir görünümde fare hareketiyle ilgili izleme geri bildirimi sağlamak için OnDraw çağrılmayı beklemeden doğrudan görünüme çizim yapmanız gerekir.
Böyle bir durumda, doğrudan görünüm üzerine çizim yapmak için CClientDC cihaz bağlamı nesnesini kullanabilirsiniz.