投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/7/29 16:02:52
ExtFloodFill も使えますが、宣言が間違っています。
Private Declare Function ExtFloodFill Lib "gdi32" ( _
  ByVal hdc As IntPtr, _
  ByVal x As Integer, _
  ByVal y As Integer, _
  ByVal crColor As Integer, _
  ByVal wFillType As UIntegerAs <MarshalAs(UnmanagedType.Bool)> Boolean
Private Const FLOODFILLBORDER As UInteger = 0UI
Private Const FLOODFILLSURFACE As UInteger = 1UI


> Dim crcolor As Long = ColorTranslator.ToWin32(Me.BackColor)   'これもかなり怪しい
COLORREF 構造体への変換は、ColorTranslator.ToWin32 で合っています。
ただし、それを As Long にするのは誤りです。

> 'VB6ではFillColorプロパティで色を設定していました。
塗りつぶし情報は、SelectObject API で切り替えます。

なお、API を使わずに処理するならこんな感じ。
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=26983&rev=&no=0