Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Printanje - Bold - Italic - Problemi! Kako ih rješiti?

[es] :: C/C++ programiranje :: Printanje - Bold - Italic - Problemi! Kako ih rješiti?

[ Pregleda: 3413 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

escape::
Developer Delphi
Rijeka, Croatia

Član broj: 26382
Poruke: 65
*.adsl.net.htnet.hr



+1 Profil

icon Printanje - Bold - Italic - Problemi! Kako ih rješiti?12.05.2004. u 08:24 - pre 242 meseci
Radim u WinXP-u a testiram i u Win98.
Imam problem sa printanjem kada su uključeni bold i italic, onda se tekst koji ima ove opcije ne ispisuje.Kada ove opcije zakomentiram onda radi OK,ali nemam opcije(:
Isto tako preview mi puca pod Win98???
Hackeri molim Vas pomoć!Evo kako izgleda funkcija:


void CMyView::IspisiText(CDC* pDC, int nX, int nY, const CString& strText,const CString& strFont, int nVelicina, BOOL bBold, BOOL bItalic, BOOL bCentar, CRect rect)
{

LOGFONT lf;
::ZeroMemory (&lf, sizeof (lf));
lf.lfHeight = nVelicina;
if(bItalic)
lf.lfItalic = TRUE;
if(bBold)
lf.lfWeight = FW_BOLD;//podebljava...
::lstrcpy (lf.lfFaceName, _T (strFont));
lf.lfCharSet = EASTEUROPE_CHARSET;

CFont font;
font.CreatePointFontIndirect (&lf);
CFont *pOldFont = pDC->SelectObject(&font);

if(bCentar)
pDC->DrawText(strText, -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
else
pDC->TextOut(nX, nY, strText);

pDC->SelectObject(pOldFont);
}
escape::
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Printanje - Bold - Italic - Problemi! Kako ih rješiti?12.05.2004. u 08:56 - pre 242 meseci
Citat:
escape:::

::lstrcpy (lf.lfFaceName, _T (strFont));

Glupo pitanje, ali da li si alocirao memoriju za ime fonta u polju lf.lfFaceName? Ako nisi, onda gađaš po memoriji.

f
 
Odgovor na temu

escape::
Developer Delphi
Rijeka, Croatia

Član broj: 26382
Poruke: 65
*.adsl.net.htnet.hr



+1 Profil

icon Re: Printanje - Bold - Italic - Problemi! Kako ih rješiti?12.05.2004. u 09:25 - pre 242 meseci
Svaka čast na odgovoru ali kako da to napravim?...i molim te ako može bez arogancije

P.S.
U MSDN-u piše da se ne smije unositi više od 32 karaktera,predpostavljam da automatski alocira memoriju!?


jesi li ovako mislio:

memcpy(lf.lfFaceName, strFont, sizeof(strFont));

pa opet kakve to ima veze sa bold i italic?


escape::
 
Odgovor na temu

escape::
Developer Delphi
Rijeka, Croatia

Član broj: 26382
Poruke: 65
*.adsl.net.htnet.hr



+1 Profil

icon Re: Printanje - Bold - Italic - Problemi! Kako ih rješiti?12.05.2004. u 11:43 - pre 242 meseci
Imam dvije funkcije.
Kada zakomentiram u funkciji IspisiText italic i bold, kvadrati kolona se ispisuju savršeno...ali kad ukljucim bold i italic kvadrati se ne ispisuju,samo ponekad prvi!?
Visina i sirina slova nikad ne prelaze velicinu kvadratica a i da prelaze nema veze jer bi se trebali ispisati preko njega...
Kako ovo rješiti?

//Ovako radi!!!
IspisiText()
{
...

LOGFONT lf;
::ZeroMemory (&lf, sizeof (lf));
lf.lfHeight = nVelicina;
//if(bItalic)
//lf.lfItalic = TRUE;
//if(bBold)
//lf.lfWeight = FW_BOLD;//podebljava...
memcpy(lf.lfFaceName, strFont, sizeof(strFont));
::lstrcpy (lf.lfFaceName, _T (strFont));
lf.lfCharSet = EASTEUROPE_CHARSET;
...
}

///////////////// ISPIS KOLONA ///////////////////////////

void CMyView::IspisiKolone(CDC* pDC, int nX, int nY)
{
CPen pen(NULL, 1, RGB(0, 0, 0));
CPen *pOldPen = pDC->SelectObject(&pen);

int tmpX = nX;

//ISPIS KOLONA
m_rectKolona1.SetRect(nX+5, nY, nX+50, nY+25);
pDC->Rectangle(m_rectKolona1);
IspisiText(pDC,tmpX, nY, "Br.", "Times New Roman", 110, TRUE, FALSE, TRUE, m_rectKolona1);

m_rectKolona2.SetRect(nX+50,nY,nX+200,nY+25);
pDC->Rectangle(m_rectKolona2);
IspisiText(pDC,tmpX, nY, "Jmbg", "Times New Roman", 110, TRUE, FALSE, TRUE, m_rectKolona2);

m_rectKolona3.SetRect(nX+200,nY,nX+500,nY+25);
pDC->Rectangle(m_rectKolona3);
IspisiText(pDC,tmpX, nY, "Ime", "Times New Roman", 110, TRUE, FALSE, TRUE, m_rectKolona3);

m_rectKolona4.SetRect(nX+500,nY,nX+700,nY+25);
pDC->Rectangle(m_rectKolona4);
IspisiText(pDC,tmpX, nY, "Prezime", "Times New Roman", 110, TRUE, FALSE, TRUE, m_rectKolona4);

m_rectKolona5.SetRect(nX+700,nY,nX+990,nY+25);
pDC->Rectangle(m_rectKolona5);
IspisiText(pDC,tmpX, nY, "Godina rođenja", "Times New Roman", 110, TRUE, FALSE, TRUE, m_rectKolona5);


pDC->SelectObject(pOldPen);
}


//////////////////// ISPISI TEKST /////////////////
//Kad uklucim bold i italic ne crta kvadratice...
void CMyView::IspisiText(CDC* pDC, int nX, int nY, const CString& strText,const CString& strFont, int nVelicina, BOOL bBold, BOOL bItalic, BOOL bCentar, CRect rect)
{

LOGFONT lf;
::ZeroMemory (&lf, sizeof (lf));
lf.lfHeight = nVelicina;
if(bItalic)
lf.lfItalic = TRUE;
if(bBold)
lf.lfWeight = FW_BOLD;//podebljava...
memcpy(lf.lfFaceName, strFont, sizeof(strFont));
::lstrcpy (lf.lfFaceName, _T (strFont));
lf.lfCharSet = EASTEUROPE_CHARSET;

CFont font;
font.CreatePointFontIndirect (&lf);
CFont *pOldFont = pDC->SelectObject(&font);


if(bCentar)
pDC->DrawText(strText, -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
else
pDC->TextOut(nX, nY, strText);

pDC->SelectObject(pOldFont);
}


escape::
 
Odgovor na temu

escape::
Developer Delphi
Rijeka, Croatia

Član broj: 26382
Poruke: 65
*.adsl.net.htnet.hr



+1 Profil

icon Re: Printanje - Bold - Italic - Problemi! Kako ih rješiti?12.05.2004. u 12:51 - pre 242 meseci
Evo, izgleda da sam nešto skužio.
U Win 98 mi radi bez greške ali u XP-u...ali logo-bitmapu mi štampa jadno...
U XP-u mi je bitmapa-logo savršena ali problem je sa crtanjem pDC->Rectangle(...)
Evo kako izgleda preview:




LISTA ČLANOVA KLUBA

---------------------------------------------------------
br. jmbg ime prezime
---------------------------------------------------------

1. 32323233334 Ivo Ivić

Kada stavim da je veličina fonta za naziv dokumenta (LISTA ČLANOVA KLUBA)preko 150 stvar ne štima, dolje ne crta pDC->Rectangle(...) po kolonama.

Zašto veličina fonta utječe na pDC->Rectangle(...) u kolonama?
Kako da mi bitmapa-logo bude ok, u oba OS-a?
Koristim nezavisno učitavanje DIB bitmape!
////////////////////////////////////////////////////////
Zašto isti kod radi u Win98 a u XP-u ne i obratno?
////////////////////////////////////////////////////////

escape::
 
Odgovor na temu

escape::
Developer Delphi
Rijeka, Croatia

Član broj: 26382
Poruke: 65
*.adsl.net.htnet.hr



+1 Profil

icon Re: Printanje - Bold - Italic - Problemi! Kako ih rješiti?14.05.2004. u 14:56 - pre 242 meseci
Evo..namučio sam se ali sam otkrio u ćemu je stvar...
Kod je u redu ali kad neke redke stavim kao italic onda ne ispisuje tekst u kolonama.Nemam pojma zašto...sve ostalo je dobro u XP-u.

Ostaje još problem sa logo-bitmapom koja se lijepo printa u XP-u ali u Win98 ne...zašto?
U Win98 SE nemam uopće problema sa ispisom teksta čak i kad su oni famozni reci italic!!!!
escape::
 
Odgovor na temu

escape::
Developer Delphi
Rijeka, Croatia

Član broj: 26382
Poruke: 65
*.adsl.net.htnet.hr



+1 Profil

icon Re: Printanje - Bold - Italic - Problemi! Kako ih rješiti?19.05.2004. u 09:17 - pre 242 meseci
Testirao sam printanje na Win98SE, Win2000, WinXP i samo u WinXP-u (na kojem radim) ne printa kako treba ako stavim tekst italic!Printer je isti...
Nešto ne štima sa XP-om ili driverom koji je instaliran na njemu!?
escape::
 
Odgovor na temu

[es] :: C/C++ programiranje :: Printanje - Bold - Italic - Problemi! Kako ih rješiti?

[ Pregleda: 3413 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.