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