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

MATLAB Discussion :

Probleme pointeur fullcross


Sujet :

MATLAB

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut Probleme pointeur fullcross
    Bonjour à tous,

    Est-ce que quelqu'un pourrait me dire pourquoi je ne peux pas voir mon pointeur de type fullcross sur tous les axes alors que je vois le type hand ?

    Voici ma fonction test :

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    function TestPointeur
     
     
    %------------- BEGIN CODE --------------
    clear all
    close all
    clc
     
        pointeur=1;     % pointeur=1=hand  // % pointeur=0=fullcross
        scnSize = get(0,'ScreenSize');
        posMainFig = [scnSize(1) scnSize(2) scnSize(3) scnSize(4)];
     
        hMainFig = figure('Name','Probleme Pointeur',...
                    'NumberTitle','off',...
                    'OuterPosition',posMainFig,'Units','normalized',...
                    'Toolbar','none','Menubar','none',...
                    'windowButtonMotionFcn',@PointerInGraph);
     
        hAxes1 = axes('Units','normalized','Position',[0.25 0.1  0.66 0.39],'Color','black');
        hAxes2 = axes('Units','normalized','Position',[0.25 0.51 0.66 0.19],'Color','black');
        hAxes3 = axes('Units','normalized','Position',[0.25 0.71 0.66 0.19],'Color','black');
     
        hModifPointeur = uicontrol('Style','toggleButton','Units','normalized','Position',[0.05 0.9 0.15 0.09],'String','Change pour fullcross','Callback',@ModifPointeur);
     
        plot(hAxes1,rand(1,1000));
     
        plot(hAxes2,rand(1,1000));
     
        plot(hAxes3,rand(1,1000));
     
        function ModifPointeur(~,~)
            if get(hModifPointeur,'Value')
                set(hModifPointeur,'String','Change pour Hand')
                pointeur=0;            
            else
                set(hModifPointeur,'String','Change pour fullcross')
                pointeur=1;
            end
        end
     
        function PointerInGraph(~,~)
            posi=get(hMainFig,'CurrentPoint');            
            ed=posi(2);
            axall = localHittest(hMainFig,ed,'axes');
            if ~isempty(axall)
                try
                    if (axall==hAxes1) || (axall==hAxes2) || (axall==hAxes3)
                        if pointeur
                            set(hMainFig,'pointer','hand'); % pointeur = 1
                        else
                            set(hMainFig,'pointer','fullcross'); % pointeur = 0
                        end
                    else
                        setptr(hMainFig,'arrow');
                    end
                catch
                    setptr(hMainFig,'arrow');
                end
            else
                setptr(hMainFig,'arrow');
            end
     
            function obj = localHittest(hFig,evd,varargin)
                if ~graphicsversion(hFig,'handlegraphics')
                    obj = plotedit([{'hittestHGUsingMATLABClasses',hFig,evd},varargin(:)]);
                else
                    obj = double(hittest(hFig,varargin{:}));
                    % Ignore objects whose 'hittest' property is 'off'
                    obj = obj(arrayfun(@(x)(strcmpi(get(x,'HitTest'),'on')),obj));
                end
            end
     
        end
    end
    %------------- END OF CODE --------------
    Bien à vous

    Christophe Halgand
    INCIA : MATLAB R2014a sous MAC OS 10.9.3

    Nous piétinerons éternellement aux frontières de l'Inconnu, cherchant à comprendre ce qui restera toujours incompréhensible. Et c'est précisément cela qui fait des nous des hommes. Isaac Asimov

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Aucun problème sur Windows 7 par contre je reproduis bien le bug sur Mac OS X

    => Crosshair does not appear correctly in a figure with multiple axes on the Mac platform
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Merci Dut... Dommage, Elle me semblait bien pratique cette fullcross...

    Christophe
    INCIA : MATLAB R2014a sous MAC OS 10.9.3

    Nous piétinerons éternellement aux frontières de l'Inconnu, cherchant à comprendre ce qui restera toujours incompréhensible. Et c'est précisément cela qui fait des nous des hommes. Isaac Asimov

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

Discussions similaires

  1. probleme pointeur en parametre de fonctions
    Par djidane39 dans le forum Langage
    Réponses: 4
    Dernier message: 18/11/2007, 14h48
  2. probleme pointeur de pointeurs
    Par dark0502 dans le forum C
    Réponses: 0
    Dernier message: 15/11/2007, 18h06
  3. Réponses: 2
    Dernier message: 16/09/2007, 19h34
  4. Probleme pointeur : allocation/desalocation
    Par SpongeBob dans le forum C++
    Réponses: 18
    Dernier message: 12/07/2007, 18h50
  5. Probleme Pointeur - API
    Par syannic dans le forum C
    Réponses: 18
    Dernier message: 10/10/2005, 09h51

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