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 :

passage automatique dans un guide


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2015
    Messages : 12
    Par défaut passage automatique dans un guide
    Bonjour,
    J'ai une interface graphique dans la quelle je veux remplir deux matrices
    A l'ouverture de mon guide s'affiche un espace bien organisé pour la première matrice
    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
     
    function remplissage_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   unrecognized PropertyName/PropertyValue pairs from the
    %            command line (see VARARGIN)
     
    % Choose default command line output for remplissage
    global m n A B
     
    handles.output = hObject;
     
    for i = 0:(n-1)
        for j = 0:(n-1)
            handles.a(i+1,j+1) = uicontrol('Style', 'edit', 'String', '','tag','hij',...
                'Position', [490+40+41*i 338-40-41*(j-1) 40 40],'FontSize',10.0,'BackgroundColor','white');
        end
    end 
    % Update handles structure
    guidata(hObject, handles);
    L'utilisateur rempli alors sa matrice puis il clique sur un bouton pour sauvegarder la premier matrice et remplir la deuxième

    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
     
    function OK_Callback(hObject, eventdata, handles)
     
    global m n A B 
     
    for i = 0:(n-1)
        for j = 0:(n-1)
            A(j+1,i+1)=[str2double(get(handles.a(i+1,j+1),'string'))];
        end
    end
     
    for i = 0:(n-1)
        for j = 0:(n-1)
            set(handles.a(i+1,j+1),'visible','off');
        end
    end 
     
    for i = 0:(m-1)
        for j = 0:(n-1)
            handles.b(i+1,j+1) = uicontrol('Style', 'edit', 'String', '','tag','hij',...
                'Position', [490+40+41*i 338-40-41*(j-1) 40 40],'FontSize',10.0,'BackgroundColor','white');
        end
    end 
    guidata(hObject, handles);
    Tout ça fonctionne impeccablement
    mon problème est que je veux que le passage entre le 1er et le 2eme remplissage se fait automatiquement (éliminer l'appui sur le bouton)
    Peut être il faut utiliser la fonction (is empty) mais je ne sait pas comment et ou je doit réécrire ce morceau de programme
    veuillez m'aider et Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Connais-tu l'existence des objets Uitable ? (CF. FAQ Comment afficher un tableau ?)

    Je présume que le passage automatique se fera lorsque toutes les cases seront remplies...
    • En gardant tes Edit, il te faudra associer ta fonction de vérification à leur propriété 'Callback' ;
    • Avec l'Uitable, ce sera la propriété 'CellEditCallback'.

    et il faudra en effet vérifier que chaque case est non vide avec la fonction isempty.
    • sur la propriété 'String' pour les Edit
    • sur chaque case de la propriété 'Data' pour l'Uitable.


    Remarque : tu peux fusionner les 2 premières boucles for en une seule, et si tu ne réutilises pas tes premiers Edit, il vaudrait mieux les supprimer avec la fonction delete.

Discussions similaires

  1. Insérer une ligne automatiquement dans une autre tab
    Par davyd dans le forum Langage SQL
    Réponses: 10
    Dernier message: 29/03/2005, 18h08
  2. [VB6] Ne pas faire de retour automatique dans un RichTextBox
    Par Arthaniel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/01/2005, 04h00
  3. [Utile]Rajout automatique dans input et verif date
    Par matpal dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/11/2004, 17h36
  4. Réponses: 2
    Dernier message: 11/05/2004, 12h17
  5. Scroll automatique dans un JTextPane
    Par regbegpower dans le forum Composants
    Réponses: 9
    Dernier message: 11/11/2003, 10h24

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