Guide complémentaire rapidq sur définition composants/objets.


 
 
 

REDÉFINITION D'UN ÉVÉNEMENT HÉRITÉ.

 UTILISATION DE FONCTIONS API WINDOW DANS UN TYPE OBJET.

 PROPRIÉTÉ PARENT DE COMPOSANTS VISIBLE.

PROTECTION DES CHAMPS D'OBJET.

 LIMITATIONS CONNUS.



 
 
 
 
 

Si un événement hérité est redéfini au sein d'un nouvel objet , son utilisation nécessite l'appel de l'événement avec le mot clé inherit dans la
routine attribué a cet événement comme indiqué dans la documentation d'origine.
Afin d'éviter l'utilisation de ce mot clé , qui peut être oublié lors de l'écriture d'un programme,on peut créer un événement
supplémentaire ayant la même fonction que celui qui est redéfini mais avec un nom diffèrent et appelé par l'événement redéfini.
De ce fait,les actions rajoutés dans l'événement redéfini seront exécutés sans avoir a rajouter l'appel de l'événement avec le mot clé inherit
dans la routine attribué a celui-ci.
Toutefois ,il n'est pas possible de masquer l'événement redéfini avec le mot clé Private dans la structure de l'objet pour l'utilisateur.
Dans l'exemple ci-dessous , l'événement OnClick hérité de l'objet QBUTTON est redéfini avec une action sur sa propriété Caption
avec un appel de routine associé au nouvel événement On_Click créé dans l'objet.

EXEMPLE:
         $TYPECHECK ON
         $Include "Rapidq.inc"

        Declare Sub routine1
        Declare Sub event_click

        Type button extends QBUTTON
          On_Click as EVENT(event_click)

          EVENT OnClick
            button.caption="check"
            if button.On_Click<>0 then CALLFUNC button.On_Click
          END EVENT
        End type

        CREATE Form AS QFORM
          Caption="Form1"
          Width=320
          Height=240
          Center
          CREATE Button1 AS button
           Caption="Button1"
           Left=34
           Top=41
           On_Click=routine1
         END CREATE
     END CREATE

     Form.ShowModal

     sub routine1
      form.Caption = "check"
     end sub