23. juli 2004 - 10:26
Der er
5 kommentarer og 1 løsning
Visual C++lave font om på CString
Hejsa, en lille hurtig en inden weekenden, hvordan laver jeg teksten om på en cstring, den skulle gerne blive lidt mindre, CString string; string.Format(("%.1f"), m_nTemperature); dc.TextOut(44, (int)x - 10, (string)); det er mit kode, hvad mangler jeg for at kunne gøre den mindre. - XenoCypraZ
Annonceindlæg fra Deloitte
Det er CString du skal ændre font på, den indeholder nemlig ikke sådan infomation! Prøv at se følgende eksempel (ikke testet!) // Describe a 24-point truetype font of normal weight LOGFONT lf; memset(&lf, 0, sizeof(lf)); lf.lfHeight = -MulDiv(24, dc.GetDeviceCaps(LOGPIXELSY), 72); lf.lfWeight = FW_NORMAL; lf.lfOutPrecision = OUT_TT_ONLY_PRECIS; // create and select it CFont newFont; if(!newFont.CreateFontIndirect(&lf)) return; CFont* pOldFont = dc.SelectObject(&newFont); CString string; string.Format(("%.1f"), m_nTemperature); dc.TextOut(44, (int)x - 10, (string)); // Put back the old font dc.SelectObject(pOldFont);
Der skulle have stået: Det er IKKE CString du skal ændre font på...
Super geil, det virker jo. :-) tusind tak, Lige et tillægs spørgsmål hvis det er i orden, hvis jeg nu vidste jeg ville bruge Arial fonten i størrelse 8, var der så ikke en nemmere måde at vælge den på ? tusind tak og god weekend.
Velbekomme... Der er forskellige måder at oprette CFont-objekter på. Hvis det er en font du bruger meget, vil jeg foreslå at du kun opretter den en gang. Du kunne fx have en member i en klasse: class Whatever { ... CFont m_Font; ... }; Og så fx i constructor: m_Font.CreateFont(-MulDiv(8/*font størrelse*/, dc.GetDeviceCaps(LOGPIXELSY), 72), 0,0,0, FW_NORMAL, 0,0,0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial"); Så kan du nøjes med følgende når du skal skrive: CFont* pOldFont = dc.SelectObject(&m_Font); CString string; string.Format(("%.1f"), m_nTemperature); dc.TextOut(44, (int)x - 10, (string)); // Put back the old font dc.SelectObject(pOldFont);
jeg takker mange gange, god weekend
Kurser inden for grundlæggende programmering