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 :

ajout tardif du uitoolbars


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Par défaut ajout tardif du uitoolbars
    Bonjour est il possible de faire apparaitre la toolbars (avec zoom in et out ainsi que pan) plus tard dans mon programme.
    Pour le moment je n'y arrive que en début , lors de la définition des paramètres de ma fenêtre!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    % fenetre principal
    Fenetre = figure('Visible','on','toolbar','figure');
    h(3) = findall(Fenetre,'tooltipstring','Zoom In');
    h(2) = findall(Fenetre,'tooltipstring','Zoom Out');
    h(1) = findall(Fenetre,'tooltipstring','Pan');
    tb = uitoolbar(Fenetre);
    copyobj(h,tb);
    set(Fenetre,'toolbar','none')
    set(Fenetre,'Units','Normalized','Position',[0 0 1 1],'Color','k');
    set(findobj(Fenetre, '-property', 'Units'), 'Units', 'normalized');
    Je souhaiterai donc le faire apparaitre quand je clique sur un pushbutton, j'ai essayé comme cela :
    définition de la fenetre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    % fenetre principal
    Fenetre = figure('Visible','on','toolbar','figure');
    tb = uitoolbar(Fenetre);
    copyobj(h,tb);
    set(Fenetre,'toolbar','none')
    set(Fenetre,'Units','Normalized','Position',[0 0 1 1],'Color','k');
    set(findobj(Fenetre, '-property', 'Units'), 'Units', 'normalized');
    Puis lors de l'appui sur un pushbutton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         h(3) = findall(Fenetre,'tooltipstring','Zoom In');
    h(2) = findall(Fenetre,'tooltipstring','Zoom Out');
    h(1) = findall(Fenetre,'tooltipstring','Pan');
    tb = uitoolbar(Fenetre);
    copyobj(h,tb);
    Mais j'ai un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ??? Improper assignment with rectangular empty matrix.
     
    Error in ==> essai_zoom2>IN at 1277
         h(3) = findall(Fenetre,'tooltipstring','Zoom In');
     
    ??? Error while evaluating uicontrol Callback

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Normalement un simple SET devrait suffire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set(Fenetre, 'Toolbar', 'figure')
    Duf

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Par défaut
    effectivement cela marche...mais j'aurai besoin de mettre seulement le zoom in et le pan....et non l'ensemble de la toolbars...

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Dans ce cas plusieurs solutions s'offrent à toi:
    • Aller chercher avec FINDOBJ les autres objets de la toolbar et les supprimer
    • Créer une toolbar UITOOLBAR et y ajouter le zoom et le pan


    Celà dit ca induit plus de complexité pour pas forcément grand chose au final. Est-il vraiment génant que les autres boutons apparaissent?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Par défaut
    AU minimum il faudrai que j'enlève "zoom out"...sinon je peux laisser les autres.

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

    As-tu essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    % fenetre principale
    Fenetre = figure('Visible','on','toolbar','none');
    set(Fenetre,'Units','Normalized','Position',[0 0 1 1],'Color','k');
    set(findobj(Fenetre, '-property', 'Units'), 'Units', 'normalized');
    
    %Puis lors de l'appui sur un pushbutton :
    set(Fenetre,'toolbar','figure')
    h(3) = findall(Fenetre,'tooltipstring','Zoom In');
    h(2) = findall(Fenetre,'tooltipstring','Zoom Out');
    h(1) = findall(Fenetre,'tooltipstring','Pan');
    tb = uitoolbar(Fenetre);
    copyobj(h,tb);
    set(Fenetre,'toolbar','none')

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 18h31
  2. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  3. [VB6] [ADO] Pb ajout enregistrement table liée
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/10/2002, 11h49
  4. Connaitre l'unitée à ajouter dans USES
    Par DelphiCool dans le forum Langage
    Réponses: 7
    Dernier message: 01/08/2002, 13h48
  5. Ajouter une aide
    Par Mailgifson dans le forum C++Builder
    Réponses: 5
    Dernier message: 12/06/2002, 13h32

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