Хорошо, кто-то очень кратко прокомментировал вопрос, и у него был правильный ответ.Я не знаю, почему они отозвали свой комментарий: /
Я закончил тем, что хранил указатель CWnd * в производном классе CMFCRibbonProgressBar, и всякий раз, когда я вызываю метод "SetAmountCompleted" из рабочего потока, я использую CWndотправить пользовательское сообщение с указателем на производный класс в WPARAM.CWnd, который получает сообщение, затем извлекает указатель и вызывает метод Update, который перерисовывает индикатор выполнения.
Это сложно, уродливо, это MFC.Уф.