Элемент управления веб-браузера - это элемент управления Windows ActiveX, который, вероятно, используется самим проводником Windows для отображения содержимого HTML. По крайней мере, элемент управления Web Browser и Windows Explorer используют одну и ту же реализацию для рендеринга HTML.
CHtmlView - это класс, созданный для MFC - CView и содержащий элемент управления ActiveX.
CHtmlDialog - это класс, производный от MFC - CDialog, делающий то же самое.
Это отдельные классы, потому что, к сожалению, в MFC есть "огромный разрыв" между диалогами, представлениями и окнами.
Я не работал значительно ни с одним из классов MFC, но, насколько я понимаю, они сами по себе не добавляют никакой функциональности. Вы также можете разместить веб-браузер как обычный ActiveX и использовать GetControlUnknown для получения интерфейса IWebBrowser.
Самая большая проблема в моем опыте заключается в том, что DOM доступен только после DocumentComplete, и это событие не сработает, пока цикл сообщений не прокачается. Это делает некоторые операции довольно болезненными. Я закончил с модификациями очередей пользовательского интерфейса, пока DOM не стал доступен.