在 MFC(Microsoft Foundation Classes)的 CDC 类中,FloodFill 是一个公共方法,用于执行洪泛填充操作。该方法会从指定的起始点开始,向外扩展并用指定的颜色填充相邻的相同颜色区域。

以下是 CDC::FloodFill 的基本语法:
BOOL FloodFill(
   int x,
   int y,
   COLORREF crColor
);

参数说明:
  •  x、y:指定填充的起始点的坐标。

  •  crColor:指定填充的颜色,以 RGB 格式表示。


返回值是一个布尔值,表示填充是否成功。

以下是一个简单的示例,演示了如何使用 FloodFill 方法:
void CMyView::OnDraw(CDC* pDC)
{
   // 获取客户区域
   CRect rectClient;
   GetClientRect(&rectClient);

   // 设置填充颜色为蓝色
   COLORREF fillColor = RGB(0, 0, 255);

   // 在指定点进行洪泛填充
   pDC->FloodFill(rectClient.Width() / 2, rectClient.Height() / 2, fillColor);

   // 在此添加其他绘图代码
   // ...
}

在这个例子中,FloodFill 方法从客户区域的中心点开始,用蓝色填充相邻的相同颜色区域。这种操作通常用于填充封闭的区域,比如图形中的某个区域。


转载请注明出处:http://www.pingtaimeng.com/article/detail/17083/MFC/CDC