Compartilhar via


CPrintDialog::GetDefaults

Recupera as opções de dispositivo da impressora padrão sem exibir uma caixa de diálogo.

BOOL GetDefaults( );

Valor de retorno

Diferente de zero se a função tenha êxito; se não 0.

Comentários

Os valores recuperados são colocados na estrutura de m_pd .

Em alguns casos, uma chamada à essa função chamada construtor para CPrintDialog com bPrintSetupOnly definido como Falso. Em esses casos, uma C.C. servidor de impressão e hDevNames e hDevMode (trata duas posicionado no membro de dados de m_pd ) são atribuídos automaticamente.

Se o construtor para CPrintDialog foi chamado com bPrintSetupOnly definido como Falso, esta função retornará não apenas hDevNames e hDevMode (localizados em m_pd.hDevNames e em m_pd.hDevMode) para o chamador, mas também irá retornar uma C.C. da impressora em m_pd.hDC. É responsabilidade do chamador excluir dc. servidor de impressão e chamar a função de GlobalFree do windows em maçanetas quando você terminar com o objeto de CPrintDialog .

Exemplo

O fragmento de código a seguir obtém o contexto do dispositivo de impressora padrão e relata ao usuário a resolução de impressão nos pontos por polegada. (Este atributo dos recursos da impressora é normalmente conhecido como DPI.)

CPrintDialog dlg(FALSE);

if (!dlg.GetDefaults())
{
   AfxMessageBox(_T("You have no default printer!"));
}
else
{
   // attach to the DC we were given
   CDC dc;
   dc.Attach(dlg.m_pd.hDC);

   // ask for the measurements 
   int nHorz = dc.GetDeviceCaps(LOGPIXELSX);
   int nVert = dc.GetDeviceCaps(LOGPIXELSY);

   // almost always the same in both directions, but sometimes not!
   CString str;
   if (nHorz == nVert)
   {
      str.Format(_T("Your printer supports %d pixels per inch"), nHorz);
   }
   else
   {
      str.Format(_T("Your printer supports %d pixels per inch ")
         _T("horizontal resolution, and %d pixels per inch vertical ")
         _T("resolution"), nHorz, nVert);
   }

   // tell the user
   AfxMessageBox(str);

   // Note: no need to call Detach() because we want the CDC destructor 
   // to call FreeDC() on the DC we borrowed from the common dialog
}

Requisitos

Cabeçalho: afxdlgs.h

Consulte também

Referência

Classe CPrintDialog

Gráfico da hierarquia

CPrintDialog::m_pd

CPrintDialog::GetDeviceName

CPrintDialog::GetDriverName

CPrintDialog::GetPortName