IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Paramètres enable d'un edit


Sujet :

Interfaces Graphiques

  1. #1
    Membre régulier Avatar de biquet
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 199
    Points : 105
    Points
    105
    Par défaut Paramètres enable d'un edit
    Bonjour,

    je voudrais lorsque je clique sur un radio bouton que certaine edit soit disponible et pas toutes.

    Je sais qu'il faut passer par la fonction enable du bouton edit.

    des infos?

    a+

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Ben le principal c'est de savoir comment sont stockés les handles de tes edit.
    Si tu as utilisé GUIDE, ils sont tous dans la structure handles sous la forme :
    handles.edit1 si edit1 est le tag de l'un de tes edit.

    Après tu te construis tes 2 vecteurs : un avec les handles des edit à mettre à on et l'autre pour les off :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set(vecteurHandlesEditOn,'enable','on');
    set(vecteurHandlesEditOff,'enable','off');
    ou alors juste un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set(findall(handleFigure,'style','edit'),'enable','on');%tous à 'on'
    set(vecteurHandlesEditOff,'enable','off');%sauf ceux-là
    Mais le plus gros travail c'est surtout de savoir construire ton vecteur et ça ça dépend vraiment de comment tu as construit tes objets.

  3. #3
    Membre régulier Avatar de biquet
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 199
    Points : 105
    Points
    105
    Par défaut
    Voila j'ai ce code la, en partie car toutes les fonctions ne sont pas là et tout les edit, les radiobutton non plus.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    unction choix_filtre(action, varargin)
    if nargin<1
        action='initialisation';
    end;
     
    feval (action,varargin{:});
     
    return;
     
     
    function [bw,boutonthresh,boutonsigma] = initialisation()
     
    imgini = imread('c:\test.bmp')
    img=rgb2gray(imgini)
     
     
    f1 = figure;
    colormap(gray);
    maximize(f1);
     
     
    screensize = get(0,'screensize')
     
     
    % Radio bouton
    cb='set(findobj(''style'',''radio''),''value'',0);set(gcbo,''value'',1)';
    boutongaussien = uicontrol('style','radio','position',[screensize(3)/64 screensize(4)/2.5 200 40],'string','Filtre Gaussien (thresh,sigma)','tag','gaussien','callback',cb)
    boutonaverage = uicontrol('style','radio','position',[screensize(3)/64 screensize(4)/2.73 200 40],'string','Filtre Average (thresh)','tag','average','callback',cb)
     
    %Push bouton
    boutonOK = uicontrol('Style', 'pushbutton', 'String', 'Application du filtre',...
        'Position', [screensize(3)/4 200 screensize(3)/2 50],'Callback',@filtre);
     
    % Edit Bouton
    boutonthresh = uicontrol('Style', 'edit','BackgroundColor','white','Position', [screensize(3)/1.2 screensize(4)/3 100 20],'tag','thresh');
    boutonsigma = uicontrol('Style','edit','BackgroundColor','white','Position', [screensize(3)/1.2 screensize(4)/2.6 100 20],'tag','sigma');
    le code ci-dessus est dans une fonction initialisation. Ensuite, l'utilisateur fait un choix avec des radiobutton et la je veux que certain edit soit enable et d'autre non. ensuite l'utilisateur appuie sur le pushbutton OK et le traitement se fait via un une fonction nommée filtre.

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Bon...
    1er conseil utiliser soit un vecteur, soit une structure pour conserver les handles de tes edit.
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    %sol° vecteur
    vecEdit(1)=uicontrol(...);
    vecEdit(2)=uicontrol(...);
    %Defaut : il faut te souvenir des indices...
     
    %sol° structure
    editHandles.thresh=uicontrol(...);
    editHandles.sigma=uicontrol(...);
    %ce que je préfère, ceci dit si tu as utilisé GUIDE, les handles sont déjà 
    %enregistré dans une structure que tu dois pouvoir récupérer avec guihandles
    %il me semble
     
    %Puis enregistrer cette info pour pouvoir la récupérer dans un autre 
    %environnement (par ex le callback de tes radiobuttons) :
    setappdata(0,'mesHandlesEdit',vecteur);
    %ou
    setappdata(0,'mesHandlesEdit',editHandles);
    %=>Utiliser getappdata pour récupérer les valeurs
    %c'est ma solution préférée mais il en existe d'autres ;) 
     
    %Et sinon il y a toujours moyen sans faire tout ça de récupérer les handles à 
    %partir d'infos spécifiques, en général le tag :
    hEdit = findobj(handleFigure,'tag','thresh');
    %Perso j'aime moins car on ne sait jamais si le tag est unique...
    Bien maintenant que tu as récupéré tes handles y'a plus qu'à changer la propriété enable sur ceux qui t'intéresse.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    editHandles=getappdata(0,'mesHandlesEdit');%recup des handles
    set(editHandles.thresh,'enable','on');
    set(editHandles.sigma,'enable','off');

  5. #5
    Membre régulier Avatar de biquet
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 199
    Points : 105
    Points
    105
    Par défaut
    merci caro95470 pour ton aide c OK maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enable Editing d'un GridView
    Par zoro007 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 22/08/2010, 02h46
  2. Problème avec des commandes disables alors qu'elles devraient être enabled ?
    Par hannnnnn dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 28/07/2010, 22h50
  3. Couleur de la police d'un Edit Enabled
    Par Charly910 dans le forum Débuter
    Réponses: 2
    Dernier message: 27/02/2010, 16h33
  4. Réponses: 23
    Dernier message: 05/02/2010, 10h38
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo