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

Scheme Discussion :

Graphisme


Sujet :

Scheme

  1. #1
    Membre habitué
    Inscrit en
    Février 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 310
    Points : 132
    Points
    132
    Par défaut Graphisme
    je cherche desesperement un cours ou tutorial ou meme un livre (en français) qui explique comment faire de l'interface graphique en Scheme

    quelqu'un peut il m'aider merci

  2. #2
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Bonjour,

    Je ne connais pas de tutoriel concernant les interfaces graphiques, et encore moins en Français
    Cependant, avec Google et un peu de logique, on peut trouver de quoi faire du "graphique". Des pré-requis en programmation objet sont les bienvenus.

    Exemple pour afficher une fenêtre (note : utiliser un langage graphique comme MrEd)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (define maFenetre (make-object frame% "Barre de titre")) ; création de l'objet maFenetre
    
    (send maFenetre min-width 200) ; définition de sa largeur mini
    (send maFenetre min-height 200) ; définition de sa hauteur mini
    (send maFenetre resize 300 300) ; redimensionnement de la fenetre
    
    (send maFenetre show #t) ; affichage de la fenetre
    make-object x% : permet de créer un objet de classe x%
    send x : permet d'appeler des méthodes sur l'objet x
    Avant de poster, merci de consulter les règles du forum

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut
    Mon premier prog graphique en Scheme (j'ai repris un peu le code de Juju_41)

    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
    ;; fonctions de gestion d'évènements associées aux éléments des boîtes de dialogues
    ;; elles doivent être définies avant les éléments eux-mêmes
    
    ;; fonction de dessin des canvas deux arguments, le canvas et le contexte de dessin
    (define (canvas_draw cv dc)
      ;; j'obtiens le texte associé au canvas
      (let ((txt (send cv get-label)))
         ;; j'obtiens la taille du canvas
         (letrec-values ([(x y) (send cv get-size)]) 
           ;; j'obtiens la taille de la zone d'écriture
           (letrec-values ([(dx dy f1 f2) (send dc get-text-extent txt)])
             ;; j'écris en centrant le dessin
             (send dc draw-text txt (/ (- x dx) 2) (- (/ y 2) dy))
    ) ) )  )
    
    ;; fonction appelée par le bouton, elle affiche un "message box"
    (define (button_fonc x y)
      (let ((x (make-object dialog% "Message Box" maFenetre 100 80 500 100)))
            (let ((y (make-object canvas% x null canvas_draw "Click")))
              (send x show #t) 
     )   )  )
    
    ;; définition de la boîte de dialogue
    ;; définition de la fenêtre principale
    (define maFenetre (make-object frame% "Ma première fenêtre")) ; création de l'objet maFenetre
    
    (send maFenetre min-width 200) ; définition de sa largeur mini
    (send maFenetre min-height 200) ; définition de sa hauteur mini
    (send maFenetre resize 300 300) ; redimensionnement de la fenetre
                         
    ;; je lui adjoins une aire de dessin ou d'écriture avec un texte associé
    (define monCanvas (make-object canvas% maFenetre null canvas_draw "Hello World"))
    
    
    ;; je lui adjoins maintenant un bouton (qui sera centré) et sous le canvas
    (define monBouton (make-object button% "Bouton" maFenetre button_fonc)) ; création de l'objet bouton
    (send monBouton min-width 150) ; définition de sa largeur mini
    (send monBouton min-height 20) ; définition de sa hauteur mini
    
    (send maFenetre show #t) ; affichage de la fenetre
    Tu peux trouver le manuel de référence sur internet : "PLT MrEd: Graphical Toolbox Manual"

    Il faut déjà connaître la programmation des fenêtres, les envois de messages et autres pour s'en sortir à mon avis.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

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

Discussions similaires

  1. [VB6] [Graphisme] Tracer un cercle avec pset
    Par bleuerouge dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/12/2002, 17h12
  2. [VB6] [Graphisme] Floodfill et motif
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/12/2002, 09h35
  3. [VB6] [Graphisme] Arc de cercle dans un picturebox
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 04/11/2002, 17h55
  4. [VB6] [Graphisme] Transfert d'image pixel par pixel
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 15/10/2002, 09h53
  5. [VB6][Graphisme] Zoom
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/10/2002, 17h30

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