Копать надо в сторону обработки сообщения WM_ERASEBKGND. Стандартный обработчик заливает фон окна назначенным для этого окна BRUSH-ем, чтобы заменить фон, нужно самостоятельно обрабатывать это сообщение в диалоговой процедуре. И обязательно из обработчика возвращать TRUE, иначе стандартный обработчик будет продолжать заливать фон стандартным цветом.
Если что — пишите в личку, помогу.