Bonsoir,

J'ai utilisé l'interface IWebBrowser2 pour afficher une page HTML contenant deux frames. Les deux frames sont définies à l'origine par le FRAMESET de la page chargée par le "navigate" (<FRAMESET cols="50%,*">). Je recherche comment je peux modifier, à posteriori, les largeurs de l'une des deux frames sans effectuer de Refresh (l'équivalent de ce que l'on peut faire avec la souris si l'on clique et déplace le séparateur de frames). Je précise que je suis sous VS2005 C++, que j'ai utilisé la méthode classique du CreateWindow/CoCreateInstance(IID_IWebBrowser2)/AtlAxAttachControl.

J'ai essayé pas mal de choses : du "resizeTo" de l'interface IHTMLWindow2 au "put_Width" de l'interface IWebBrowser2 sans jamais trouver une solution qui fonctionne correctement. J'ai essayé sur le browser qui charge le FRAMESET et sur les deux browsers qui contiennent chacune une frame, sans succès. Il semblerait que ce code est un impact sur une largeur (car le séparateur disparaît de l'affichage) mais aucun changement n'affecte les deux browsers alors qu'un browser aurait dû être déplacé horizontalement (en fonction de la nouvelle largeur du premier navigateur).

Ces interfaces semblent réagir en fonction de la zone client d'origine car si les nouvelles valeurs données à ces interfaces sont inférieures aux valeurs fixées par le FRAMESET, rien ne se passe bien que le HRES soit OK. Le MSDN n'est pas très clair sur ce sujet.

Si quelqu'un a une idée je suis preneur...
Merci pour vos suggestions.
David.