вывод текста в прозрачном окне.
От: lord_206  
Дата: 08.11.05 13:20
Оценка:
Создал прозрачное окно 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++'
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.