BenXbox
Messages postés210Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention14 août 2007 25 janv. 2005 à 19:24
Non il est bon mon code c'est seulement que j'arive pas a l'adapter pour plusieurs WebBrowser.
L'évènement CommandStateChange est appelé chaque fois qu'une "commande" change d'état. Par exemple, cet évènement sera déclenché lorsque l'on passe d'un état "il n'existe pas de page précédente" à un état "il existe une page précédente".
Le paramètre Command indique la "commande" concernée; le paramètre Enable son état.
<LI>
Mettez la propriété Enabled de vos boutons Suivant et Précédent à False
<LI>
Implémentez l'évènement CommandStateChange :
</LI>
procedure TForm1.WebBrowser1CommandStateChange(Sender: TObject;
Command: Integer; Enable: WordBool);
begin // active ou désactive les boutons de changement
// de page en fonction de l'historique
if CommandCSC_NAVIGATEFORWARD then ButtonSuivant.Enabled:Enable;
if CommandCSC_NAVIGATEBACK then ButtonPrecedent.Enabled: Enable;
end;
Et sinon pour l'event "OnDblClick" il est pas dans le PageControl1.
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 25 janv. 2005 à 19:32
ha mince ya pas de DblClick :/ bon faudra trouver une astuce alors
euh pour ton code qui est super, il marche sur un WebBrowser1 = ) mais
nous, on a pas de WebBrowser1 ! on les crée a la volé ! donc tu doit
déclarer cette procedure :
i f Command =CSC_NAVIGATEFORWARD then ButtonSuivant.Enabled:= Enable;
if Command =CSC_NAVIGATEBACK then ButtonPrecedent.Enabled:= Enable;
end;
puis lors de la création des webbrowser (fWebBrowser) ajoute dans le with ... do :
OnCommandStateChange :=
WebBCommandStateChange;
chaque webbrowser fera changer le status des boutons... inconvénient :
- je suis sur le 1er webbrowser (WB), je navigue en avant, le bouton "back" s'active
- je passe sur le 2eme WB, je peux cliquer sur le bouton "back" alors que je n'ai pas encore navigué !!
moi je créerais 2 array de boolean (array of boolean) ou pourquoi pas
des Record (enregistrements) qui contiendraient les "enabled" de "back"
et "next", puis a chaque "OnChange" de mon PageControl, je check dans
mes array (ou record) pour mettre les enabled corrects selon le WB
navigué.
BenXbox
Messages postés210Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention14 août 2007 25 janv. 2005 à 20:43
Les logiciels sont tous de moi sauf la source DvdCover qui est pas de moi mais il y a pas plagiat puisque c'est une source gratuite et que sur mon site le logiciel et gratuit sauf l'accès à la page des téléchargement des logiciels.
Sinon oui je m'y connais mais la je suis largué quant tu me dit :
moi je créerais 2 array de boolean (array of boolean) ou pourquoi pas des Record (enregistrements) qui contiendraient les "enabled" de "back" et "next", puis a chaque "OnChange" de mon PageControl, je check dans mes array (ou record) pour mettre les enabled corrects selon le WB navigué.
pas tout compris ?
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 25 janv. 2005 à 21:08
Que tu le donnes
gratuit ou pas, si ce n'est pâs de toi, alors le nom de l'auteur
véritale doit apparaitre et non le tiens. S'approprier ou se faire
passer pour l'auteur, c'est ça le plagiat.
Pour les array, as tu compris le probleme des boutons "back" et "next" ?
voici un exemple qui peut expliker (juste pour exemple , le code ne fonctionne surement pas) :
var ar_BoutonBack : Array of Boolean;
...
SetLength(ar_BoutonBack,pc.pagescount); // a faire a chaque ajout/suppression d'onglet
puis selon le browser cette ligne est modifiée comme ceci :
if CommandCSC_NAVIGATEFORWARD then ar_BoutonBack[pc.tabindex]:true;
et quand on reviens sur ce WB, ds le code OnChange du PC on mets :
BoutonBack.Enabled := ar_BoutonBack[pc.tabindex];
Voila qqchose comme ça. Il est possible que je regarde ça de plus pret ce soir ou demain matin.