在静态文本控件上画线的问题
我在静态文本控件上如果用MoveTo, LineTo画的话,正常显示,但是如果用SetPixel却不显示,这是为什么?
我重载了CStatic类,在OnPaint中:
CPaintDC dc(this);
memDC.CreateCompatibleDC(&dc) ;
memBitmap.CreateCompatibleBitmap(&dc, rect.Width(), rect.Height()) ;
oldBitmap = (CBitmap *)memDC.SelectObject(&memBitmap) ;
// ......................
for( int i = 0; i < itotal; i++ )
{
if( igreen < 0 )
igreen = 255;
if( iblue < 0 )
iblue = 255;
if( iyellow < 0 )
iyellow = 255;
COLORREF colline = RGB(igreen, iblue, iyellow);
memDC.SetPixel( 300+i, m_drawRect.top+i, colline );
igreen -= 10;
iblue -= 20;
iyellow -= 30;
}
//
dc.BitBlt(0, 0, rect.Width(), rect.Height(),
&memDC, 0, 0, SRCCOPY) ;
// end....
memDC.SelectObject(oldBitmap) ;
memBitmap.DeleteObject();
memDC.DeleteDC();
我重载了CStatic类,在OnPaint中:
CPaintDC dc(this);
memDC.CreateCompatibleDC(&dc) ;
memBitmap.CreateCompatibleBitmap(&dc, rect.Width(), rect.Height()) ;
oldBitmap = (CBitmap *)memDC.SelectObject(&memBitmap) ;
// ......................
for( int i = 0; i < itotal; i++ )
{
if( igreen < 0 )
igreen = 255;
if( iblue < 0 )
iblue = 255;
if( iyellow < 0 )
iyellow = 255;
COLORREF colline = RGB(igreen, iblue, iyellow);
memDC.SetPixel( 300+i, m_drawRect.top+i, colline );
igreen -= 10;
iblue -= 20;
iyellow -= 30;
}
//
dc.BitBlt(0, 0, rect.Width(), rect.Height(),
&memDC, 0, 0, SRCCOPY) ;
// end....
memDC.SelectObject(oldBitmap) ;
memBitmap.DeleteObject();
memDC.DeleteDC();
...全文
相关推荐
PB静态文本控件背景透明
如果父窗口的背景是动态变化的,你可能需要编写事件代码来同步静态文本控件的背景颜色。4. **测试和调整**:保存并运行应用程序,检查静态文本控件在Windows Vista上的显示效果。
MFC 静态文本控件自绘类
本主题将深入探讨如何使用MFC扩展静态文本控件(Static control),使其具有自绘能力,支持超链接、字体颜色更改以及下划线等特性。在MFC中,静态文本控件通常由`CStatic`类表示。
mfc静态文本控件背景及字体颜色设置实例
以“mfc静态文本控件背景及字体颜色设置实例”为话题,我们可以探讨如何对MFC中的静态文本控件(CStatic类的一个实例)的背景色和字体颜色进行设置。
Visual C++ 8-静态文本控件.rar
该项目基于Visual C++和MFC框架,实现了一个带有自定义静态文本控件的对话框应用程序。核心功能包括通过CMyStatic类重写OnPaint方法,实现带背景色和字体样式的文本绘制,并在对话框中
MFC 改变静态文本字体大小
静态文本控件静态文本控件是MFC中的一种控件,用于显示静态文本信息。在对话框中添加静态文本控件可以在资源编辑器中完成,只需拖曳静态文本控件到对话框中,然后设置其ID为IDC_STATIC。


