Ahoj,
podporuje Windows CE tisk přes síťovou tiskárnu?
Jak na to. Protože základní třídy pro tisk (dialogy) podporovaný nejsou.
(C++ MFC)
Fórum › C / C++
Win CE - síťová tiskárna
Tak tisk je pouze vykreslení do získaného DC. Takže pokud lze v CE tisknout, tak půjde tisknout i na síťovou tiskárnu. A pokud ti nefunguje MFC řešení, tak zkus non MFC řešení ... můžeš začít u PrintDlg (http://msdn.microsoft.com/en-us/library/ms961310.aspx) nebo PageSetupDlg (http://msdn.microsoft.com/en-us/library/ms961288.aspx).
To liborb :
Zkoušel jsem něco takového co jsem našel na netu, ale nic, ani v simulatoru ani na realnem panelu to nefunguje
HDC GetPrinterDC(HWND wnd)
{
PRINTDLG pdlg;
// Initialize the PRINTDLG structure.
memset( &pdlg, 0, sizeof( PRINTDLG ) );
pdlg.cbStruct = sizeof( PRINTDLG );
pdlg.hwndOwner = wnd;
// Set the flag to return printer DC.
//pdlg.Flags = PD_RETURNDEFAULT | PD_RETURNDC;
// Invoke the printer dialog box.
::SetLastError(0);
PrintDlg( &pdlg );
// hDC member of the PRINTDLG structure contains
// the printer DC.
int le = GetLastError();
if (le != 0) {
CString str;
str.Format(_T("Nastala chyba %ld"),le);
AfxMessageBox(str);
}
return pdlg.hdc;
}
void CMFC_printADlg::OnBnClickedButton1()
{
if ( GetPrinterDC(this->m_hWnd) == 0)
AfxMessageBox(_T("Nulový návrat"));
}
Chybu (LastError) nevarci, ale hDc je nulové.
Pod CE nejde požít PD_RETURNDC místo PrintDlg jsem dal PageSetupDlg a funguje to, akorát problém je že okno je moc velké. Takže to budu muset volat bez zobrazení a do registru nahrát "výchozí nastavení tiskárny"
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Moderátoři diskuze