Chaque événement généré par l’interface graphique génère un appel de fonction. Cette fonction s’appelle : « Callback ».

Par exemple, un clic sur un bouton génère un événement qui appelle la fonction liée à ce bouton. La même source d’événements peut générer plusieurs types d’événements. Le bouton peut générer un événement lorsqu’il est appuyé, lorsqu’il est relâché et lors d’un clic. Cliquer sur un bouton génère ainsi les trois événements.

Le code du programme réside principalement dans les fonctions que les sources d’événements appellent.

 

Déclaration d’une fonction callback

Il existe deux façons de déclarer un fonction callback :

  • Avec une chaîne de caractère évaluable
h = uicontrol(fig,'Style','pushbutton','String','Générer une couleur','Callback',{'MonCallback',p1,...});

 

La création de la fonction se fait ainsi :

function MonCallback(p1,...)
  ...
end

 

  • Avec une référence de fonction
h = uicontrol(fig,'Style','pushbutton','String','Générer une couleur','Callback',{@MonCallback,p1,...});

 

MATLAB passe également deux autres paramètres supplémentaires à la fonction:

function MonCallback(hObject,eventdata,p1,...)
  ...
end

 

Arguments d’entrée

Par défaut MATLAB envoie 2 arguments en plus des arguments que vous aurez passer à la fonction Callback.

  • hObject : handle de l’objet déclenchant le callback;
  • eventdata : non utilisé pour le moment.

 

Différents types de callbacks

La le tableau suivant, vous avez la liste des callbacks que vous allez rencontrer lorsque vous aller faire des interfaces graphiques:

ButtonDownFcn Déclenché lorsque l’utilisateur clique sur un composant (à 5 pixels près).

Utilisable sur : Axes, figure, button group, panel, uicontrol

Callback Action des contrôles.

Utilisable sur : Uicontrol, uimenu

CloseRequestFcn Quand la figure se ferme.

Utilisable sur : figure

CreateFcn A la création des composants.

Utilisable sur : composants

DeleteFcn A la destruction des composants.

Utilisable sur : composants

KeyPressFcn Lorsque l’utilisateur presse une touche et que le composant a le focus.

Utilisable sur : figure, uicontrol

KeyReleaseFcn Lorsque l’utilisateur relâche une touche.

Utilisable sur : figure

ResizeFcn Lorsque l’utilisateur (ou la programmation) retaille un composant.

Utilisable sur : figure, panel, button group

SelectionChangeFcn Lorsque l’utilisateur change la sélection

Utilisable sur : radio button, toggle button, Button group

WindowButtonDownFcn Lorsque l’utilisateur clique sur la figure

Utilisable sur : figure

WindowButtonMotionFcn Lorsque l’utilisateur passe la souris au dessus de la figure

Utilisable sur : figure

WindowButtonUpFcn Lorsque l’utilisateur relâche le bouton de la souris

Utilisable sur : figure

WindowScrollWheelFc Lorsque l’utilisateur utilise la molette de la souris

Utilisable sur : figure