MFC:戒指-没有颜色变化
MFC: Ring - no color change
我正试图从书中学习MFC:MV C++Windows Application by Example(2008)。有一个示例应用程序。在那里我可以画满女巫选择的颜色的戒指:
void CRingView::OnDraw(CDC* pDC)
{
CRingDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
PointArray& pointArray = pDoc->GetPointArray();
ColorArray& colorArray = pDoc->GetColorArray();
int iSize = static_cast<int>(pointArray.GetSize());
for (int iIndex = 0; iIndex < iSize; iIndex++)
{
CPoint point = pointArray[iIndex];
COLORREF color = colorArray[iIndex];
CPen pen(PS_SOLID, 0, BLACK);
CBrush brush(color);
pDC->Ellipse(point.x - RADIUS, point.y - RADIUS, point.x + RADIUS, point.y + RADIUS);
CPen* pOldPen = pDC->SelectObject(&pen);
CBrush* pOldBrush = pDC->SelectObject(&brush);
}
}
但即使我这样做,也没有颜色变化(总是像bg一样是白色):
CBrush brush(BLACK);
所以问题是:我做错了什么?我使用的是Visual Studio 2013,但对于新项目,应该不会有任何兼容性错误。黑色是:
static const COLORREF BLACK = RGB(0, 0, 0);
DC使用当前选择的任何画笔、笔、字体等对象进行绘制。因此,笔和画笔的SelectObject
应该在绘制之前发生。
相关文章:
- 警告处理为错误这里有什么问题
- 即使全局颜色发生变化,我应该如何让我的块保持其颜色?
- 为什么尽管源代码没有变化,但每个系统的片段数量却有很大差异?
- 检测像素的颜色变化
- 有可能在C++中的值发生变化时触发计算吗
- 我可以在 Visual C++ 2010 中有不同颜色的评论吗?
- §12.3.2 [class.conv.fct]/1 in C++1z 相对于 C++14 发生了重大变化。有意义吗?
- MFC:戒指-没有颜色变化
- VS 2012 中可能有什么变化来破坏我的C++应用程序?
- 这种文本颜色有什么问题
- Qt - 当值发生变化时,QSpinBox 上每个失去焦点的信号是否有信号
- 是否有可以在控制台中设置颜色的 WinAPI 调用,如'color xx'命令?
- 给定尺寸为 26 * 7 的图像是否有可能在垫子的每一行中包含 78 个单独的颜色值,而另一个可以包含 77
- 一个从未执行过的代码中的一个小变化怎么会有什么不同呢
- C++&&QT 有没有办法在 Mac && Windows 上使用 C++ 和 qt 创建"warm screen"颜色
- C++:有没有一种简单的方法可以将十六进制颜色"0xff2a2620""映射到更具可读性的字符串"lovelyBrown"?
- Array2的变化对Array(表)有影响
- 自2002年以来,c++模板标准有什么重大变化吗?
- 颜色转移:我在 OpenCV C++中的代码有什么问题
- c++ STL标准是否有变化?