salut, jai fais un pti tchat
j'ai mis une scrolbar vertical, mais j'ai remarqué que parfois (assez souvent) la scrollbar ne décent pas et donc on ratte ce qui a été écrit ...
donc ma question est simple : comment y remédier ? :)
Version imprimable
salut, jai fais un pti tchat
j'ai mis une scrolbar vertical, mais j'ai remarqué que parfois (assez souvent) la scrollbar ne décent pas et donc on ratte ce qui a été écrit ...
donc ma question est simple : comment y remédier ? :)
Salut,
Tu peux faire un SendMessage (ici je le fais avec un Memo ...) :
Ca aura pour but de toujours te mettre en bas du Memo ;)Code:SendMessage(Memo1.Handle,WM_VSCROLL,SB_BOTTOM,0);
A+
merci pour la réponse rapide
c'est la seule manière de le faire ? je pensais plus à un "réglage" de propriété
mais bon s'il n'y a que cette solution, je prends
personne d'autre ?
La méthode d'Ero-sennin ne te convient pas ?
Une ligne simple et efficace.
@+
si tu travail avec delphi tu peut utulisé l'instruction: Application.ProcessMessage pour le rafrichissement de votre affichage.
me revoilà
je remplace le memo par un WebBrowser1 ça n'a pas l'air de fonctionner, vous avez une idée ? :)
Salut,
J'ai pas trouvé de solution par l'envoie de message, mais j'ai trouvé une chose intéressante :
En espérant que celà t'aide!Code:
1
2
3
4
5
6
7
8
9 procedure TForm1.BtnChargerPageClick(Sender: TObject); begin WebBrowser1.Navigate('www.google.fr'); end; procedure TForm1.BtnAllerEnBasDePageClick(Sender: TObject); begin WebBrowser1.OleObject.Document.ParentWindow.Scrollto(0, WebBrowser1.OleObject.document.body.scrollHeight); end;
A+ ;)
[EDIT]
On peut le mettre dans l'événement OnProgressChange pour que ça aille tout seul en bas de page :
Code:
1
2
3
4
5
6 procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress, ProgressMax: Integer); begin if Progress = ProgressMax then WebBrowser1.OleObject.Document.ParentWindow.Scrollto(0, WebBrowser1.OleObject.document.body.scrollHeight); end;
merci le 1er code qui fonctionne, je vais l'adapter :)
en faite il fait décendre la scrolbare de quelques lignes ... donc s'il y a trop de ligne, il n'arrive pas jusqu'en bas :(
bah c'est pas pour un site, c'est un tchat que j'ai réalisé (j'avais besoin d'introduire du html)
donc après l'évènement "réception de ce qu'à dire un membre" le texte du membre en question est ajouté au navigateur et ensuite le code que tu m'as passé est exécuté :
// ajout de ce qu'à dit un membre puis :
WebBrowser1.OleObject.Document.ParentWindow.Scrollto(0, WebBrowser1.OleObject.document.body.scrollHeight);
ça marche bien ...
mais j'ai remarqué que s'il y a déjà beaucoup de chose de tapé, et je décide d'allé lire ce qu'il s'est dit il y a 1h, et bien si un membre parle, la scrolbare décend mais de quelques lignes uniquement (elle ne décend pas jusqu'en bas de la page)
Re,
C'est bizarre ça :(
Je ne vois pas pas vraiment d'où ça peut venir en plus ...
Et je ne sais pas trop comment tu t'y prends pour l'insertion de tes messages dans le TWebBrowser ...
Je ne sais pas si un Application.ProcessMessages avant d'appeler la méthode de défilement de la ScrollBar y fera quelque chose ...
Ca m'embête de ne pas pouvoir t'aider plus :(