Создал прозрачное окно pFrame->CreateEx(WS_EX_LAYERED,...) , m_pSetLayeredWindowAttributes(m_hWndLayer, 0, (255 / 150) * 100, LWA_ALPHA). Нужно вывести текст, но он не должен быть прозрачным . Вроде все попробывал и везде поискал даже примеры юзал. Вот моя последняя попытка: Подскажите где собачка зарыта
CPaintDC dc(this);
CRect client_rect;
GetClientRect(client_rect);
CString szText;
GetWindowText(szText);
CFont *pFont, *pOldFont;
pFont = GetFont();
pOldFont = dc.SelectObject(pFont);
#define MAP_STYLE(src, dest) if(dwStyle & (src)) dwText |= (dest)
#define NMAP_STYLE(src, dest) if(!(dwStyle & (src))) dwText |= (dest)
DWORD dwStyle = GetStyle(), dwText = 0;
MAP_STYLE( SS_RIGHT, DT_RIGHT );
MAP_STYLE( SS_CENTER, DT_CENTER );
MAP_STYLE( SS_CENTERIMAGE, DT_VCENTER | DT_SINGLELINE );
MAP_STYLE( SS_NOPREFIX, DT_NOPREFIX );
MAP_STYLE( SS_WORDELLIPSIS, DT_WORD_ELLIPSIS );
MAP_STYLE( SS_ENDELLIPSIS, DT_END_ELLIPSIS );
MAP_STYLE( SS_PATHELLIPSIS, DT_PATH_ELLIPSIS );
NMAP_STYLE( SS_LEFTNOWORDWRAP |
SS_CENTERIMAGE |
SS_WORDELLIPSIS |
SS_ENDELLIPSIS |
SS_PATHELLIPSIS, DT_WORDBREAK );
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(crRed);
dc.DrawText(szText, client_rect, dwText);
dc.SelectObject(pOldFont);
Поправлено форматирование: пользуйтесь тэгами [ccode] или [c]. — Кодт
08.11.05 16:47: Перенесено из 'C/C++'