Aracılığıyla paylaş


Cihaz Bağlamları

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 ortak deyimini kapsüller, işlevi çağırır BeginPaint , ardından cihaz bağlamında çizim yaparak işlevi çağırır EndPaint . Oluşturucu CPaintDC sizin için, BeginPaint yıkıcı ise öğesini çağırır EndPaint. Basitleştirilmiş işlem, CDC nesnesini oluşturmak, çizmek ve sonra nesneyi yok etmektirCDC. Ç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 sonra temel alınan cihaz bağlamı Windows'a gönderilir.

CClientDC nesneleri, bir pencerenin yalnızca istemci alanını temsil eden bir cihaz bağlamıyla çalışmayı kapsüller. Oluşturucu CClientDC işlevi çağırır GetDC ve yıkıcı işlevi çağırır ReleaseDC . 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. 'a OnDrawgeçirilenin CPaintDC 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üme çizmek için CClientDC cihaz bağlamı nesnesi kullanabilirsiniz.

Ne hakkında daha fazla bilgi edinmek istiyorsunuz?

Ayrıca bkz.

Pencere Nesneleri