Pas de sélection dans un Memo. [Résolu]

Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
25 septembre 2005
- - Dernière réponse : Becracker
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
25 septembre 2005
- 29 juil. 2005 à 15:01
Salut les gars,



je voulais juste savoir s'il yavé une propriété chez un Memo ou un Edit
qui permet d'interdire la sélection du texte par l'utilisateur.



merci à vous d'avance.
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Dernière intervention
11 août 2008
3
Merci
Tu peut pas entrer du texte dans une scrollbox... Ce qu'il faut faire c'est placer ta scrollbox, et crer un label dedans... tu met la propriété align du label en alTop et la propriété wordwrap à true, puis tu met le texte du label comme je te l'ai indiqué plus haut... Si la taille du label deviend trop importante des scrollbars vont etre affichées dans ta scrollbox.

Si ton texte est immense tu ne pourra peut-etre pas le mettre dans ton label comme je l'ai fait plus haut... A ce moment la je te conseille de sauvegarder ton texte dans un fichier texte puis de le charger dans le programme (ça fait plus "pro").

neodelphi

Merci neodelphi 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de neodelphi
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Dernière intervention
3 septembre 2006
0
Merci
Non. Essaye un truc du genre:

procedure TForm1.MemoOnChange(Sender:TObject);
begin
Memo1.SelLength:= 0;
end ;

=============
Validez les réponses si ok...

Commenter la réponse de cs_grandvizir
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
25 septembre 2005
0
Merci
ca veut dire koi SelLength ? Paske je l'ai utilisé mais je peux tjrs sélectionner le texte.
Commenter la réponse de Becracker
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Dernière intervention
11 août 2008
0
Merci
Pourquoi souhaites-tu interdire la sélection ? Si c'est pour réaliser du texte multiligne sur une fiche en interdisant l'édition et en mettant le memo de la meme couleur que la fiche pour faire croire que c'est pas un mémo, tu peut le faire avec un label....

Le seul problème des label c'est que l'éditeur de propriété de delphi ne gère pas le texte multiligne pour les propriété du genre caption... cependant le label le gère quand même... Pour mettre plusieurs lignes de texte dans un label il y a deux méthodes :

La première consiste à modifier le caption du label dans le code, par exemple lors de la création de la fenêtre :

<HR>
Label1.Caption := 'Première ligne'+#13+'Seconde ligne';

<HR>

C'est tout de même un peu lourd dans le code, surtout lorsqu'il y a 40 label à mettre comme ça dans ton programme... Ce que tu peut faire c'est click droit sur la fiche lors de la conception et choisir dans le menu "voir comme texte". Delphi va t'ouvrir le fichier dfm qui décrit l'aspect de ta fiche. A toi de trouver les ligne correspondant au label et de remplacer le caption. Chez moi ça donne ça :

<HR>
...
object Label1: TLabel
Left = 168
Top = 176
Width = 432
Height = 26
Caption = 'ligne 1'+#13+'ligne 2'
end
...

<HR>

neodelphi
Commenter la réponse de neodelphi
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
0
Merci
salut

tu peux aussi placer ton memo sur un panel et faire
panel.enable:=false; tur garde l'aspet du memo ses fonctionnatilités
mais tu le rend inaccessible a l'utilisateur.
Commenter la réponse de jlen100
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Dernière intervention
11 août 2008
0
Merci
Bricolage très efficace... c'est une bonne alternative aussi...

neodelphi
Commenter la réponse de neodelphi
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
0
Merci
c'est pas du bricolage c'est meme la fonction premiere d'un panneau de controle:

controler le fonctionnement et l'acces des composants placer dessus et
le fait qu'il n'y ait qu'un seul composant dessus ne change rien à
l'affaire
Commenter la réponse de jlen100
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
25 septembre 2005
0
Merci
Ah oui , mais la méthode de jlen100 suspend l'utilisation des
scrollbars dans le memo, surtout ke j'ai un texte long dedans et que je
ne veux pas agrandir la taille du memo.
Commenter la réponse de Becracker
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Dernière intervention
11 août 2008
0
Merci
C'est du bricolage à partir du moment ou ce contrôle ne pourra jamais être utilisé : il y a des tonnes de variables utilisés qui ne serviront jamais, au niveau optimisation c'est pas top...

neodelphi
Commenter la réponse de neodelphi
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
25 septembre 2005
0
Merci
Donc à part d'utiliser un label, ya pas moyen d'interdire la sélection sans perte de fonctionnalités ?
Commenter la réponse de Becracker
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Dernière intervention
11 août 2008
0
Merci
La première réponse de grandvizir si mais faut mettre son bout de code dans l'évènement onMouseMove... c'est encore du bricolage mais bon... Le prob c'est que tu peut encore sélectionner le texte avec le clavier...

Et pourquoi ne pas mettre ton label dans une scrollbox ?

neodelphi
Commenter la réponse de neodelphi
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
0
Merci
et la propriete readonly du memo ne te suffit pas?
Commenter la réponse de jlen100
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Dernière intervention
11 août 2008
0
Merci
Non cette propriété ne suffit pas, elle ne bloque que la modification...
Je viend d'essayer la scrollbox et le label... j'ai remarqué que le label fait le word wrap et donc dans une scrollbox il peut faire les retour a la ligne tout seul comme le memo...

neodelphi
Commenter la réponse de neodelphi
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
25 septembre 2005
0
Merci
Pour répondre à Jlen100, j'ai déja utilisé readonly mé ca bloque juste
la modification. Pour la scrollbox, on fait comment pour y entrer du
texte ?
Commenter la réponse de Becracker
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
25 septembre 2005
0
Merci
ok 5/5 merci à vous tous.
Commenter la réponse de Becracker

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.