Tisk seznamu vlastností
Seznam vlastností Tisk je standardní uživatelské rozhraní, které umožňuje uživateli zadat vlastnosti konkrétní tiskové úlohy. Seznam vlastností se skládá ze sady stránek vlastností, které se liší podle tiskárny nebo aplikace. Na podmnožinu standardních stránek vlastností Systému Windows můžou některé tiskárny přidat stránky vlastností specifické pro ovladače a některé aplikace můžou přidat stránky vlastností specifické pro aplikaci.
Pokud chcete vytvořit a zobrazit seznam vlastností Print, inicializujete PRINTDLGEX strukturu a předáte strukturu PrintDlgEx funkci.
Následující obrázek znázorňuje typickou kartu vlastností Tisk.
Většina členů struktury PRINTDLGEX je shodná se strukturou PRINTDLG. Popisy použití společných členů struktury k interakci s ovládacími prvky dialogového okna naleznete v tématu Dialogové okno tisk. Zbývající část tohoto tématu popisuje funkce seznamu vlastností Tisk, které se liší od dialogového okna Tisk.
Seznam vlastností Tisk můžete přizpůsobit zadáním vlastní šablony dialogového okna pro dolní část stránky Obecné a zadáním dalších stránek vlastností, které budou následovat za stránkou Obecné. Další informace naleznete v tématu Přizpůsobení seznamu vlastností tisku.
Můžete implementovat objekt zpětného volání pro příjem oznámení a zpráv z PrintDlgEx funkce při zobrazení seznamu vlastností. Aplikace, které poskytují vlastní šablony nebo další stránky, používají objekt zpětného volání ke komunikaci se seznamem vlastností. Další informace naleznete v tématu Zpětné volání objektu pro tisk seznamu vlastností.
Seznam vlastností Tisk poskytuje podporu pro zadání více nesouvislých oblastí stránek k tisku. lpPageRanges je členem struktury PRINTDLGEX, který specifikuje pole struktur PRINTPAGERANGE, přičemž každá z těchto struktur určuje rozsah stránek.
Seznam vlastností Tisk zobrazuje přepínač Aktuální stránka jako součást skupiny Rozsah stránek skupiny přepínačů. Chcete-li ovládat přepínač Aktuální stránka, použijte příznaky PD_CURRENTPAGE a PD_NOCURRENTPAGE ve členu Flags struktury PRINTDLGEX.
Tato část popisuje následující témata.
- Přizpůsobení seznamu vlastností tisku
- objekt zpětného volání pro tisk seznamu vlastností
Přizpůsobení seznamu vlastností tisku
Seznam vlastností Tisk můžete přizpůsobit následujícími způsoby:
- Zadejte vlastní šablonu pro dolní část stránky Obecné. To vám umožní zahrnout další ovládací prvky, které jsou pro vaši aplikaci jedinečné. Funkce PrintDlgEx používá místo výchozí šablony vlastní šablonu.
- Poskytněte další stránky vlastností, které mají následovat po stránce Obecné.
- Zadejte objekt zpětného volání. Další informace naleznete v tématu Zpětné volání objektu pro tisk seznamu vlastností.
Horní část stránky Obecné nelze změnit. Stránky vlastností poskytované ovladačem tiskárny nelze změnit.
Zadání vlastní šablony pro stránku Obecné:
Vytvořte vlastní šablonu pro dolní část stránky Obecné úpravou šablony PRINTDLGEXORD zadané v souboru Prnsetup.dlg. Vlastní šablona musí být obvykle stejná jako výchozí šablona. Šablonu můžete zvětšit, pokud zadáte příznak PD_USELARGETEMPLATE, což umožní vytvoření větší stránky Obecné. Identifikátory ovládacích prvků použité ve výchozí šabloně dialogového okna Tisk jsou definovány v souboru Dlgs.h.
Pomocí struktury PRINTDLGEX povolte šablonu následujícím způsobem:
Pokud je vaše vlastní šablona prostředkem v aplikaci nebo v knihovně dynamického propojení, nastavte příznak PD_ENABLEPRINTTEMPLATE v členovi Příznaky. Pomocí hInstance a lpPrintTemplateName členů struktury identifikujte modul a název prostředku.
-Nebo-
Pokud už vaše vlastní šablona je v paměti, nastavte příznak PD_ENABLEPRINTTEMPLATEHANDLE. Pomocí členu hInstance identifikujte paměťový objekt, který obsahuje šablonu.
Pokud k definování dalších ovládacích prvků použijete vlastní šablonu, musíte zadat objekt zpětného volání pro zpracování vstupu pro ovládací prvky. Objekt zpětného volání implementuje metodu IPrintDialogCallback::HandleMessage, která přijímá zprávy odeslané do vlastního dialogového okna.
Poskytnutí dalších stránek vlastností
Pomocí funkce vytvořte další stránky.
Pomocí člena struktury PRINTDLGEXlphPropertyPages můžete určit pole popisovačů pro další stránky.
Postupy dialogového okna zadané při vytváření každé stránky zpracovávají zprávy odeslané na stránky.
Můžete chtít poskytnout objekt zpětného volání, který implementuje rozhraní. Funkce PrintDlgEx pomocí tohoto rozhraní předává aplikaci ukazatel na rozhraní IPrintDialogServices. Postupy pro dialogová okna týkající se dalších stránek vlastností mohou použít toto rozhraní k získání informací o aktuálně vybrané tiskárně.
Objekt zpětného volání pro tisk seznamu vlastností
Aplikace, která zobrazuje dialog vlastností Tisk, může implementovat objekt zpětného volání pro přijímání oznámení a zpráv z funkce PrintDlgEx, zatímco je zobrazen dialog vlastností. Chcete-li poskytnout objekt pro zpětné volání, zadejte ukazatel na objekt v lpCallback členu PRINTDLGEX struktury.
Objekt zpětného volání musí implementovat IPrintDialogCallback rozhraní. Funkce PrintDlgEx volá metody IPrintDialogCallback v následujících situacích:
- Po inicializaci dialogového okna
- Když uživatel vybere jinou tiskárnu ze seznamu nainstalovaných tiskáren zobrazených v seznamu vlastností
- Když obdrží zprávy pro podřízené dialogové okno v dolní části stránky seznamu vlastností Obecné
Objekt zpětného volání by měl také implementovat IObjectWithSite rozhraní. PrintDlgEx funkce volá metodu, která předává ukazatel na rozhraní IPrintDialogServices aplikaci. Metody IPrintDialogCallback mohou k načtení informací o aktuálně vybrané tiskárně použít rozhraní IPrintDialogServices. Rozhraní IPrintDialogServices je také užitečné pro aplikace, které vytvářejí další stránky, aby sledovaly stránku Obecné seznamu vlastností Tisk. Postupy dialogového okna pro další stránky mohou volat metody IPrintDialogServices.