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, 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 : Sélectionner tout - Visualiser dans une fenêtre à part 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager