Pas de sélection dans un Memo.

Résolu
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005 - 29 juil. 2005 à 12:19
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre 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.

15 réponses

neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
29 juil. 2005 à 14:59
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
3
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
29 juil. 2005 à 12:34
Non. Essaye un truc du genre:

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

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

0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
29 juil. 2005 à 12:46
ca veut dire koi SelLength ? Paske je l'ai utilisé mais je peux tjrs sélectionner le texte.
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
29 juil. 2005 à 13:38
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
29 juil. 2005 à 14:16
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.
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
29 juil. 2005 à 14:18
Bricolage très efficace... c'est une bonne alternative aussi...

neodelphi
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
29 juil. 2005 à 14:29
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
0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
29 juil. 2005 à 14:31
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.
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
29 juil. 2005 à 14:32
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
0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
29 juil. 2005 à 14:35
Donc à part d'utiliser un label, ya pas moyen d'interdire la sélection sans perte de fonctionnalités ?
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
29 juil. 2005 à 14:38
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
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
29 juil. 2005 à 14:39
et la propriete readonly du memo ne te suffit pas?
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
29 juil. 2005 à 14:41
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
0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
29 juil. 2005 à 14:54
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 ?
0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
29 juil. 2005 à 15:01
ok 5/5 merci à vous tous.
0