Udostępnij za pośrednictwem


Arkusz właściwości drukowania

Arkusz właściwości Print to standardowy interfejs użytkownika, który umożliwia użytkownikowi określenie właściwości określonego zadania drukowania. Arkusz właściwości składa się z zestawu stron właściwości, które różnią się w zależności od drukarki lub aplikacji. W podzestawie standardowych stron właściwości systemu Windows niektóre drukarki mogą dodawać strony właściwości specyficznych dla sterownika, a niektóre aplikacje mogą dodawać strony właściwości specyficznych dla aplikacji.

Aby utworzyć i wyświetlić arkusz właściwości Print, należy zainicjować strukturę PRINTDLGEX i przekazać tę strukturę do funkcji PrintDlgEx.

Na poniższej ilustracji przedstawiono typowy arkusz właściwości Print.

arkusz właściwości drukarki

Większość elementów członkowskich struktury PRINTDLGEX jest taka sama, jak elementów struktury PRINTDLG. Opisy używania wspólnych składowych struktury do interakcji z kontrolkami okna dialogowego, zobacz Okno Dialogowe Drukowania. W pozostałej części tego tematu opisano funkcje karty właściwości Print, które różnią się od okna dialogowego drukowania .

Możesz dostosować arkusz właściwości Print, określając niestandardowy szablon okna dialogowego dla dolnej części strony Ogólne i określając dodatkowe strony właściwości, które mają być zgodne ze stroną Ogólne. Aby uzyskać więcej informacji, zobacz Dostosowywanie arkusza właściwości drukowania.

Obiekt wywołania zwrotnego można zaimplementować w celu odbierania powiadomień i komunikatów z funkcji PrintDlgEx podczas wyświetlania arkusza właściwości. Aplikacje, które udostępniają szablony niestandardowe lub dodatkowe strony, używają obiektu wywołania zwrotnego do komunikowania się z arkuszem właściwości. Aby uzyskać więcej informacji, zobacz Callback Object for the Print Property Sheet.

Arkusz właściwości Print zapewnia obsługę określania wielu, nieciągłych zakresów stron do drukowania. Struktura lpPageRanges członek struktury PRINTDLGEX określa tablicę struktur PRINTPAGERANGE, w których każda struktura określa zakres stron.

Arkusz właściwości Print wyświetla przycisk radiowy Bieżąca strona w ramach grupy przycisków radiowych Zakres stron. Aby kontrolować przycisk radiowy bieżącej strony, użyj flag PD_CURRENTPAGE i PD_NOCURRENTPAGE w Flags składowej struktury PRINTDLGEX.

W tej sekcji omówiono następujące tematy.

Dostosowywanie arkusza właściwości drukowania

Arkusz właściwości Print można dostosować w następujący sposób:

  • Stwórz niestandardowy szablon dla dolnej części strony Ogólne. Dzięki temu można uwzględnić dodatkowe kontrolki, które są unikatowe dla aplikacji. Funkcja PrintDlgEx używa szablonu niestandardowego zamiast szablonu domyślnego.
  • Podaj dodatkowe strony właściwości, które mają być zgodne ze stroną Ogólne.
  • Podaj obiekt wywołania zwrotnego. Aby uzyskać więcej informacji, zobacz "Callback Object for the Print Property Sheet".

Nie można zmienić górnej części strony Ogólne. Nie można zmienić stron właściwości dostarczonych przez sterownik drukarki.

Aby udostępnić szablon niestandardowy dla strony Ogólne:

  1. Utwórz własny szablon dla dolnej części strony Ogólne, modyfikując szablon PRINTDLGEXORD wskazany w pliku Prnsetup.dlg. Zazwyczaj szablon niestandardowy musi mieć taki sam rozmiar jak szablon domyślny. Można jednak powiększyć szablon niestandardowy, poprzez określenie flagi PD_USELARGETEMPLATE, aby utworzyć większą stronę Ogólne. Identyfikatory kontrolek używane w domyślnym szablonie okna dialogowego Print są zdefiniowane w pliku Dlgs.h.

  2. Użyj struktury PRINTDLGEX, aby włączyć szablon w następujący sposób:

    • Jeśli szablon niestandardowy jest zasobem w aplikacji lub bibliotece linków dynamicznych, ustaw flagę PD_ENABLEPRINTTEMPLATE w elemencie Flagi. Użyj hInstance i lpPrintTemplateName składowych struktury, aby zidentyfikować nazwę modułu i zasobu.

      -Lub-

    • Jeśli szablon niestandardowy jest już w pamięci, ustaw flagę PD_ENABLEPRINTTEMPLATEHANDLE. Użyj członu hInstance, aby zidentyfikować obiekt pamięci zawierający szablon.

  3. Jeśli używasz szablonu niestandardowego do definiowania dodatkowych kontrolek, musisz podać obiekt wywołania zwrotnego w celu przetworzenia danych wejściowych dla kontrolek. Obiekt wywołania zwrotnego implementuje metodę IPrintDialogCallback::HandleMessage, która odbiera komunikaty wysyłane do okna dialogowego niestandardowego.

Aby umożliwić udostępnienie dodatkowych stron właściwości

  1. Użyj funkcji , aby utworzyć dodatkowe strony.

  2. Użyj lphPropertyPages składowej struktury PRINTDLGEX, aby określić tablicę dojść do dodatkowych stron.

    Procedury związane z oknem dialogowym, określone podczas tworzenia każdej strony, przetwarzają komunikaty wysyłane do stron.

  3. Możesz podać obiekt wywołania zwrotnego, który implementuje interfejs. Funkcja PrintDlgEx używa tego interfejsu do przekazywania do aplikacji wskaźnika do interfejsu IPrintDialogServices. Procedury okna dialogowego dla dodatkowych stron właściwości mogą używać tego interfejsu do pobierania informacji o aktualnie wybranej drukarce.

Obiekt wywołania zwrotnego dla arkusza ustawień drukowania

Aplikacja, która wyświetla arkusz właściwości Print, może zaimplementować obiekt wywołania zwrotnego w celu odbierania powiadomień i komunikatów z funkcji PrintDlgEx podczas wyświetlania arkusza właściwości. Aby udostępnić obiekt wywołania zwrotnego, określ wskaźnik do obiektu w lpCallback składowej struktury PRINTDLGEX.

Obiekt wywołania zwrotnego musi zaimplementować interfejs IPrintDialogCallback. Funkcja PrintDlgEx wywołuje metody IPrintDialogCallback w następujących sytuacjach:

  • Po zainicjowaniu okna dialogowego
  • Gdy użytkownik wybierze inną drukarkę z listy zainstalowanych drukarek wyświetlanych przez arkusz właściwości
  • Po odebraniu komunikatów dla okna dialogowego podrzędnego w dolnej części strony ogólne arkusza właściwości

Obiekt wywołania zwrotnego powinien również zaimplementować interfejs IObjectWithSite. Funkcja PrintDlgEx wywołuje metodę, aby aplikacja mogła używać wskaźnika do interfejsu IPrintDialogServices. Metody IPrintDialogCallback mogą używać interfejsu IPrintDialogServices w celu pobrania informacji o aktualnie wybranej drukarce. Interfejs IPrintDialogServices jest również przydatny w przypadku aplikacji, które tworzą dodatkowe strony następujące za stroną Ogólne arkusza właściwości Print. Procedury okna dialogowego dla dodatkowych stron mogą wywoływać metody IPrintDialogServices.