Sdílet prostřednictvím


Kontexty zařízení

Kontext zařízení je datová struktura Systému Windows obsahující informace o atributech výkresu zařízení, jako je zobrazení nebo tiskárna. Všechna volání výkresu se provádějí prostřednictvím objektu kontextu zařízení, který zapouzdřuje rozhraní API systému Windows pro kreslení čar, obrazců a textu. Kontexty zařízení umožňují výkres nezávislý na zařízení ve Windows. Kontexty zařízení lze použít k kreslení na obrazovku, do tiskárny nebo do metasouboru.

Objekty CPaintDC zapouzdřují společný idiom systému Windows, volají BeginPaint funkci, poté kreslí v kontextu zařízení a potom volají EndPaint funkci. Konstruktor volá CPaintDC za vás a destruktor volá BeginPaint. Zjednodušeným procesem je vytvoření objektu CDC , vykreslení a následné zničení objektu CDC . V rámci systému je dokonce i většina tohoto procesu automatizovaná. Konkrétně je vaší funkci OnDraw předán již připravený CPaintDC (prostřednictvím OnPrepareDC) a vy do něj jednoduše kreslíte. Zničí se rámcem a kontext základního zařízení se uvolní do Windows po návratu z volání vaší OnDraw funkce.

Objekty CClientDC zapouzdřují práci s kontextem zařízení, který představuje pouze klientskou oblast okna. Konstruktor CClientDC volá GetDC funkci a destruktor volá ReleaseDC funkci. Objekty CWindowDC zapouzdřují kontext zařízení, který představuje celé okno, včetně jeho rámce.

CMetaFileDC objekty zapouzdřují výkres do metasouboru Windows. Na rozdíl od toho, co je předáno do CPaintDC, musíte v tomto případě zavolat OnDraw sami.

Kreslení myší

Většina kreslení v rámcovém programu — a tedy většina práce se zařízením — se provádí v členské funkci zobrazení OnDraw. Objekty kontextu zařízení ale můžete používat i pro jiné účely. Pokud chcete například poskytnout zpětnou vazbu ke sledování pohybu myši v zobrazení, musíte nakreslit přímo do zobrazení, aniž byste čekali na OnDraw zavolání.

V takovém případě můžete pomocí objektu kontextu zařízení CClientDC nakreslit přímo do zobrazení.

O čem chcete vědět víc

Viz také

Objekty okna