Salut...

le probleme se présente lorsque ces 2 composantes sont créés en dynamique à l'intérieur d'un panel.

S'il sont créés en dynamique, directement dans la form, aucun problème, ça fonctionne.. Pourquoi ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
            	  web := TWebBrowser.Create(self);
               TWinControl(web).Parent := panel ;
               web.Top := panel.DefaultCaptionHeight ;
               web.Height :=panel.Height -25 ;
               web.Width := panel.Width  -25 ;
               web.Left :=0;
           //    web.Visible := true;
               chaine :=  filelistbox1.Directory +  filelistbox1.Items.Strings[i] ;
               web.Navigate(filelistbox1.Directory +  filelistbox1.Items.Strings[i]);
Si je met TWinControl(web).Parent := panel ; je ne vois qu'un carré blanc. Si je fais click droit, je vois les options d'un browser. Donc il est bien créé. J'ai beau diminuer les grandeur / largeur. Y a rien à faire. Je ne vois jamais les barre de défilement du browser.

Par contre, si je met TWinControl(web).Parent := form1 ; là... pour les même dimensions, je vois très bien les barres de défilement et qui plus est, avec les dimensions actuelles, le browser "fitterait" très bien dans le panel. Alors, pourquoi ça ne fonctionne pas ?!?


Voici pour le panel.. (À titre d'information, car ca fonctionne très bien...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
      	panel := TBSSkinPanel.Create(self);
 
      	chaine := inttostr(scrollbox.width);
 
             panel.Parent := scrollbox ;
      	panel.left := x ;
      	panel.top :=  y ;
      	panel.height := 100 ;
      	panel.width := 100  ;
   	panel.SkinData := bsSkinData1 ;
      	panel.SkinDataname := 'groupbox';
      	panel.CaptionMode := true;
Curieux tout ça... Pour des images (jpg, gif, pds, wmf) ca s'affiche très bien dans le panel dynamique. Pour des .swf aussi. Mais pour un TWebBrowser... rien à faire. Ca fonctionne hors du panel dynamique, mais pas à l'intérieur de ce dernier.