Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB > Interfaces Graphiques
Interfaces Graphiques Forum d'entraide sur les interfaces graphiques en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2012, 10h06   #1
Membre du Club
 
Homme
Étudiant
Inscription : juillet 2011
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : juillet 2011
Messages : 93
Points : 57
Points : 57
Par défaut Bloc de Texte

Bonjour,

Ma question porte sur les différentes propriétés que possède l´ 'edit texte'
J´aimerais créer un Bloc dans lequel l´utilisateur ne pourrais rentrer que par exemple 250 caractères, que la zone de saisie commence en haut à gauche et que lorsque le caractère atteint la bordure de la zone de texte qu´il y est un retour à la ligne automatique et qu´évidement lors de l´appuie sur la touche 'entrer' il y est également un retour à la ligne. Que me conseillez vous ?

J´ai écris un simple uicontrol

Code :
1
2
3
4
5
6
% Création de la zone texte éditable

uicontrol('style','edit',...
     'units','normalized',...
     'HorizontalAlignment','left',...
     'position',[0.05 0.6 0.4 0.3]);
junkie1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 11h03   #2
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 824
Points : 6 824
Bonjour,

Pour faire du multiligne:
Citation:
Envoyé par uicontrol properties
  • Max
    • Editable text – The Value property does not apply. If Max - Min > 1, then editable text boxes accept multiline input. If Max - Min <= 1, then editable text boxes accept only single line input. The absolute values of Max and Min have no effect on the number of lines an edit box can contain; a multiline edit box can contain any number of lines.
Pour ce qui est de la limitation, je te suggère de regarder cette discussion.
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 13h20   #3
Membre du Club
 
Homme
Étudiant
Inscription : juillet 2011
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : juillet 2011
Messages : 93
Points : 57
Points : 57
Merci Winjerome

Il suffit que la différence entre la valeur de Max et de Min soit supérieur à 1 pour "editable text boxes accept multiline input"
Pour ce faire attribuer une valeur supérieur à 1 à Max

En ce qui concerne la limitation de caractère, j´ai commencé à lire la discussion mais je me suis dis que dans mon cas je pouvais m´en sortir d´une façon plus simple

Code :
1
2
3
4
5
6
% Création de la zone texte éditable
bloc_text = uicontrol('style','edit',...
     'units','normalized',...
     'MAX',2,...
     'HorizontalAlignment','left',...
     'position',[0.05 0.45 0.4 0.3]);

Lorsque j´appuie sur mon bouton ok ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
function [] = OK( varargin )

global bloc_text

out = get(bloc_text,'String');
if(length(out) > 250)
    warndlg('Limite de caractère depassée')
    return;
else
 % votre code
end
end
junkie1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 13h46   #4
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 824
Points : 6 824
Attention: dans le cas du multilignes
Citation:
Envoyé par junkie1986 Voir le message
ne te retournera par le nombre de caractères total, mais seulement:
  • Le nombre de caractères de la ligne la plus longue
Ou
  • Le nombre de lignes-paragraphes si celui-ci est plus grand que le précédent.
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h26.


 
 
 
 
Partenaires

Hébergement Web