SetTextColor(hMemDC,RGB(255,0,255));//设立字体颜色为什么不行
SetTextColor(hMemDC,RGB(255,0,255));//设置字体颜色为什么不行?
------解决方案--------------------
将 SetTextColor(hMemDC,RGB(255,0,255));放置到DrawText调用之前,否则不起作用啊。所有DC的设置,都应该在实际的绘制函数之前设定,否则没有用的
------解决方案--------------------
楼上说的非常对:
rcTitle.right -= 8;
TCHAR tzTitle[64] = { 0 };//最多只显示前64个字符
GetWindowText( hWnd,tzTitle,sizeof(tzTitle) );
int nOldBkMode = SetBkMode( hMemDC,TRANSPARENT );
HFONT hFont = (HFONT)::SendMessage( hWnd, WM_GETFONT, 0, 0 );
HFONT hFontTitle;
LOGFONT lf;
if( hFont != NULL )
{
::GetObject( hFont, sizeof(LOGFONT),&lf );
//lf.lfWeight = FW_BOLD;
}
else
{
SystemParametersInfo( SPI_GETICONTITLELOGFONT,sizeof(LOGFONT),&lf,0 );
//lf.lfWeight = FW_BOLD;
}
hFontTitle = CreateFontIndirect( &lf );
HFONT hOldFont = (HFONT)SelectObject( hMemDC,hFontTitle );
DrawText( hMemDC,tzTitle,_tcsclen( tzTitle ),&rcTitle,DT_LEFT | DT_SINGLELINE | DT_VCENTER );
SelectObject( hMemDC,hOldFont );
DeleteObject( hFontTitle );
SetBkMode( hMemDC,nOldBkMode );
SetTextColor(hMemDC,RGB(255,0,255));//设置字体颜色为什么不行?
BitBlt( hDC,0,0,nWidth,nHeight,hMemDC,0,0,SRCCOPY );
SelectObject( hMemDC,hOldBitmap );
------解决方案--------------------
将 SetTextColor(hMemDC,RGB(255,0,255));放置到DrawText调用之前,否则不起作用啊。所有DC的设置,都应该在实际的绘制函数之前设定,否则没有用的
------解决方案--------------------
楼上说的非常对:
rcTitle.right -= 8;
TCHAR tzTitle[64] = { 0 };//最多只显示前64个字符
GetWindowText( hWnd,tzTitle,sizeof(tzTitle) );
int nOldBkMode = SetBkMode( hMemDC,TRANSPARENT );
HFONT hFont = (HFONT)::SendMessage( hWnd, WM_GETFONT, 0, 0 );
HFONT hFontTitle;
LOGFONT lf;
if( hFont != NULL )
{
::GetObject( hFont, sizeof(LOGFONT),&lf );
//lf.lfWeight = FW_BOLD;
}
else
{
SystemParametersInfo( SPI_GETICONTITLELOGFONT,sizeof(LOGFONT),&lf,0 );
//lf.lfWeight = FW_BOLD;
}
hFontTitle = CreateFontIndirect( &lf );
HFONT hOldFont = (HFONT)SelectObject( hMemDC,hFontTitle );
SetTextColor(hMemDC,RGB(255,0,255));//设置字体颜色为什么不行? 要放在这里才行。
DrawText( hMemDC,tzTitle,_tcsclen( tzTitle ),&rcTitle,DT_LEFT
------解决方案--------------------
DT_SINGLELINE
------解决方案--------------------
DT_VCENTER );
SelectObject( hMemDC,hOldFont );
DeleteObject( hFontTitle );
SetBkMode( hMemDC,nOldBkMode );
BitBlt( hDC,0,0,nWidth,nHeight,hMemDC,0,0,SRCCOPY );
SelectObject( hMemDC,hOldBitmap );