Я решил проблему, с которой столкнулся. это было время.
проблема была в том, что я записывал контент в элемент управления веб-браузера. А затем пытается прочитать ширину и высоту. но элемент управления не отображался, и поэтому я не получал эти параметры.
Я понял это в начале, поэтому вместо этого поместил код изменения размера в событие ondocumentcomplete. к сожалению, я не понял, что это событие не вызывается, когда вы пишете прямо в документ. каким-то образом мне удалось убедить себя, что это не было вызвано, потому что контроль был скрыт. это был не тот случай.
Поэтому, как только мне удалось это выяснить, я включил насос сообщений после того, как вызвал функцию записи, и до того, как вызвал функцию show. насос сообщений зацикливался до тех пор, пока управление не вернулось полностью (проверяет флаг готовности)
PopUp->Write(text.c_str());
while (!PopUp->Complete() && ProcessMessages()){ ; }
popup_ctlDownloadComplete(0);
теперь, когда событие DownloadComplete вызывается вручную, документ отображается, и я могу получить ширину и высоту.
Приведенный выше код может вызвать бесконечный цикл в случае ошибки, поэтому я добавил счетчик, чтобы убить его, если это произойдет. просто не показано для краткости и ясности.
Да, и код является устаревшим кодом, а не управляемым кодом
DC