Sdílet prostřednictvím


Přidělování prostředků GDI

Tento článek vysvětluje, jak přidělit a uvolnit objekty grafického zařízení (GDI) systému Windows potřebné k tisku.

Poznámka

Další informace najdete v dokumentaci sady GDI+ SDK.

Předpokládejme, že potřebujete pro tisk použít určitá písma, pera nebo jiné objekty GDI, ale ne pro zobrazení obrazovky. Kvůli paměti, kterou vyžadují, je neefektivní přidělovat tyto objekty při spuštění aplikace. Pokud aplikace netiská dokument, může být tato paměť potřebná pro jiné účely. Při zahájení tisku je lepší je přidělit a po skončení tisku je odstranit.

Chcete-li přidělit tyto GDI objekty, přepište OnBeginPrinting členské funkce. Tato funkce je vhodná pro tento účel ze dvou důvodů: architektura volá tuto funkci jednou na začátku každé tiskové úlohy a na rozdíl od OnPreparePrinting má tato funkce přístup k objektu CDC představujícímu ovladač zařízení tiskárny. Tyto objekty můžete uložit pro použití během tiskové úlohy definováním proměnných členů ve třídě zobrazení, které odkazují na objekty GDI (například CFont * členy atd.).

Pokud chcete použít objekty GDI, které jste vytvořili, vyberte je v kontextu zařízení tiskárny ve funkci člena OnPrint . Pokud potřebujete různé objekty GDI pro různé stránky dokumentu, můžete prozkoumat m_nCurPage člen struktury CPrintInfo a odpovídajícím způsobem vybrat objekt GDI. Pokud potřebujete objekt GDI pro několik po sobě jdoucích stránek, systém Windows vyžaduje, abyste ho při každém OnPrint zavolání vybrali do kontextu zařízení.

Chcete-li uvolnit tyto objekty GDI, přepište členské funkce OnEndPrinting . Architektura volá tuto funkci na konci každé tiskové úlohy a umožňuje uvolnit objekty GDI specifické pro tisk před tím, než se aplikace vrátí do jiných úloh.

Viz také

Tisk
Jak probíhá výchozí tisk