10
votes

Mémo AtoScrolling à Delphes

Delphi contient-il un composant qui permet un texte de défilement automatique chargé de dB, comme dans les sites de presse?

TT pour une application Delphi 7 et nécessite un défilement vertical.


1 commentaires

La réponse de @VCLDEveloper est la meilleure, mais une autre option à prendre en compte consiste simplement à ajouter des lignes au contrôle VCL TMEMO (ou similaire) dans l'ordre inverse. Cela met le dernier article sur le dessus qui peut supprimer le besoin de faire défiler du tout.


6 Réponses :


5
votes

éventuellement, pour vous faire économiser de l'argent, vous pouvez adapter cela pour faire défiler un DBMEMO: xxx

i Utilisez pour un écran de journalisation.


0 commentaires

37
votes

Pour une tâche aussi simple, vous n'avez pas besoin d'acheter un composant commercial! Tout ce que vous avez à faire est d'envoyer un message EM_Linescroll à ce contrôle de mémo, pour le faire défiler jusqu'à la dernière ligne:

procedure ScrollToLastLine(Memo: TMemo);
begin
  SendMessage(Memo.Handle, EM_LINESCROLL, 0,Memo.Lines.Count);
end;


5 commentaires

Hmm, qui plus court que le mien, mémo_scroll golf quelqu'un? :)


Ce défilement est un moyen de jeûner. Comment le ralentissez-vous?


@none, que voulez-vous dire en le ralentissant? Allez-vous faire un effet visuel du défilement?


oui, une sorte. Comme des nouvelles de la note de défilement flash.


Donc, vous ne voulez pas de faire défiler un mémo du tout ... Vous devez peindre le texte sur une tpaintbox, puis faites défiler lentement la position de la peinture :)



7
votes

Aucune de ces solutions pour le défilement a fonctionné pour moi dans le mémo de richedit. Utilisation de Delphi 2010 + W7. Mais celui-ci fonctionne parfaitement:

après chaque lignes.add ("...") Ceci suit: xxx

trouvé dans: http://www.experts-exchange.com/programming/langues /Pascal/delphi/q_10120212.html


0 commentaires

2
votes

Vous pouvez également utiliser mémo.gototextend; en cas de besoin, par exemple à l'intérieur d'un événement ONCHANGE. N'est pas un effet de défilement automatique approprié mais peut être utile dans des situations similaires.


0 commentaires

1
votes

Si vous travaillez avec les composants DEVEXPRPPRESS, vous devez utiliser innercontrol-> poignée . Donc, il devrait ressembler à ceci: xxx


0 commentaires

1
votes

La bonne chose à envoyer des messages dans la même application consiste à utiliser le Effectuer la commande , SendMessage l'envoie au flux Windows lors de l'exécution de l'envoi directement sur le composant. Tellement de sorte qu'il ne demande même pas le manche:

mémo1.perform (wm_vscroll, sb_linedown, 0);


0 commentaires