Копайте в сторону FloodFill.
Это такой метод, который позволяет закрашивать замкнутые области. При этом можно закрашивать либо область, очерченную линией определенного цвета, либо пятно, залитое определенным цветом. В параметрах указывается координаты какой-либо точки внутри данного контура/пятна, цвет контура/пятна, а также что мы хотим закрашивать - контур или пятно.
То есть:
- исходный рисунок состоит из замкнутых контуров одного заранее известного цвета X.
- при щелчке на рисунке определяется цвет пиксела под курсором. Если это цвет Х, то мы щелкнули на границе, поэтому ничего красить не будем. Если это другой цвет, то вызываем FloodFill, передавая ей координаты пиксела под курсором, цвет Х и константу fsBorder, говорящую нам о том, что заливать будем контур, а не пятно. При этом заливка будет сделана цветом и стилем текущей кисти.
Вот такая вот вводная.
(Хотел было набросать небольшую демку, но интузизизьма не хватило
)
Правка: Опять я долго набирал ответ...