006
06.07.2006, 11:30 Uhr
xXx
Devil
|
Hmm hab als Font mal Verdana genommen
C++: |
TCHAR szText1[100]; TCHAR szText2[100]; memset(szText1, 0, sizeof(szText1)); memset(szText2, 0, sizeof(szText2)); ::LoadString(hStringDll, 200, szText1, sizeof(szText1)); ::LoadString(hStringDll, 201, szText2, sizeof(szText2));
|
So... das hab ich mir dann mal mit ner MessageBox ausgegeben... alles korrekt...
C++: |
// Innerhalb der Create Funktion einer Klasse... als Parameter die beiden strings von oben... _sntprintf(m_stText, 256, _T("%s"), lpszText); _sntprintf(m_stCaption, 256, _T("%s"), lpstCaption);
|
Dann in meiner OnPaint Funktion(Ja... hab mir nen kleinen WinAPI Wrapper geschrieben ):
C++: |
lf.lfStrikeOut = 0; lf.lfUnderline = 0; lf.lfHeight = 18; lf.lfEscapement = 0; lf.lfItalic = 0; lf.lfWeight = FW_BOLD; lstrcpy(lf.lfFaceName, _T("Verdana"));
// Beim 1. Text hab ich ExtTextOut genommen... ::HFONT hFont = ::CreateFontIndirect(&lf); ::HFONT hOldFont = (HFONT)::SelectObject(hDC, hFont);
::SetTextColor(hDC, RGB(223, 163, 97)); ::SetBkMode(hDC, TRANSPARENT); ::GetTextExtentPoint32(hDC, m_stCaption, lstrlen(m_stCaption), &szText); ::ExtTextOut(hDC, rcClient.left + 7, rcClient.top + 5, ETO_OPAQUE, /*&m_rcStatic*/NULL, m_stCaption, lstrlen(m_stCaption), 0);
// Beim zeichnen des 2 Textes hab ich DrawText genommen... lf.lfHeight = 14; lf.lfWeight = FW_NORMAL; hFont = ::CreateFontIndirect(&lf); ::SelectObject(hDC, hFont);
::SetTextColor(hDC, RGB(0, 0, 0)); ::GetTextExtentPoint32(hDC, m_stText, lstrlen(m_stText), &szText); rcClient.left += 8; rcClient.top += 15 + szText.cy; rcClient.right -= 8; rcClient.bottom -= 15; ::DrawText(hDC, m_stText, lstrlen(m_stText), &rcClient, DT_LEFT | DT_TOP | DT_END_ELLIPSIS);
::SelectObject(hDC, hOldFont); ::DeleteObject(hFont);
|
Dieser Post wurde am 06.07.2006 um 11:52 Uhr von xXx editiert. |