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

Ada Discussion :

[GTKAda] Problème d'organisation dans une fenêtre


Sujet :

Ada

  1. #1
    Membre du Club Avatar de Poseidon62
    Inscrit en
    Mars 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Mars 2004
    Messages : 102
    Points : 67
    Points
    67
    Par défaut [GTKAda] Problème d'organisation dans une fenêtre
    Bonjour à tous,

    J'ai un petit souci avec GTKADA
    Je crée une fenêtre, dans laquelle je place un Frame et un bouton.
    Le problème est que je n'arrive pas à créer le Frame d'une taille que je choisirais, ni à le placer où je le veux.
    Même chose pour le bouton.

    Voici mon code - dans cet essai, je crée deux frame, mais ces deux frame se chevauchent, et je ne vois pas comment les mettre l'un à côté de l'autre, ou l'un en dessous de l'autre
    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
    with Gtk.Main, Gtk.Window, Gtk.Frame, Gtk.Enums, Gtk.Container, Gtk.Button, Gtk.Box, Gtk.Table;
    use Gtk.Main, Gtk.Window, Gtk.Frame, Gtk.Enums, Gtk.Container, Gtk.Button, Gtk.Box, Gtk.Table;
     
    procedure essai2 is
     
       Frame, Frame2: gtk_frame;
       --boite: gtk_box;
       Table: gtk_table;
       fenetre: gtk_window;
       --Container: gtk_container;
       bouton: array(0 .. 3) of gtk_button;
       bouton1, bouton2 : gtk_button;
     
    begin
     
    init;
     
       -- Création de la fenetre
       	gtk_new(fenetre, window_toplevel);
       	set_size_request(fenetre, 400, 400);
        	set_position(fenetre, win_pos_center);
     
       gtk_new(Table, 2, 2, true);
       add(fenetre, Table);
     
       gtk_new(Frame, "Nombres");
       set_shadow_type(Frame, shadow_etched_out);
       add(Table, Frame);
     
       gtk_new(bouton1, "111");
       add(Frame, bouton1);   
     
       gtk_new(Frame2, "Trigo");
       --set_child_visible(Frame2, false);
       add(Table, Frame2);
     
       gtk_new(bouton2, "222");
       add(Frame2, bouton2);
     
       for j in bouton'range loop				-- création d'une boucle pour générer les x boutons
     
          gtk_new(bouton(J), Integer'Image(J));
          --add(boite, bouton(J));				-- ajout du bouton(J) à la boite
          --attach(Table, bouton(J), 1, 1, 1, 1, expand, expand, 0, 0);
          --add(Frame, bouton(J));
     
       end loop;
     
    show_all(fenetre);
    main;
     
    end essai2;
    Quelqu'un a t-il une idée ?

    ++

  2. #2
    Membre du Club Avatar de Poseidon62
    Inscrit en
    Mars 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Mars 2004
    Messages : 102
    Points : 67
    Points
    67
    Par défaut
    Slt,

    Voici le code que j'ai créé pour un projet de calculatrice.
    Celle-ci s'affiche en mode graphique.

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    --***************************************************************
    -- Nom du programme : Calculatrice
    -- Type             : Interface
    -- Sujet            : Calculatrice construite à partir de GTKADA
    --
    -- Auteur           : Pascal RICHARD
    -- Version          : 1.0
    -- Création         : 08/03/2007
    -- Dernière modif.  : 10/03/2007
    --
    -- Outils           : AIDE - GPS - MSys
    -- Remarques        : Environnement Windows XP SP2
    --****************************************************************
     
    with Glib, Gtk.Main, Gtk.Window, Gtk.Frame, Gtk.GEntry, Gtk.Enums, Gtk.Button, Gtk.Check_Button, Gtk.Table, Gtk.Handlers;
    use Glib, Gtk.Main, Gtk.Window, Gtk.Frame, Gtk.GEntry, Gtk.Enums, Gtk.Button, Gtk.Check_Button, Gtk.Table, Gtk.Handlers;
     
    procedure calculatrice is
     
       Table: gtk_table;
       Fenetre: gtk_window;
       Ecran: Gtk_GEntry;
       Frame_affich, Frame_trigo, Frame_ope, Frame_nomb: gtk_frame;
       btn_inv : Gtk_Check_Button;
       btn_sin, btn_cos, btn_tan : Gtk_Button;
       btn_plus, btn_moins, btn_mul, btn_div, btn_virg : Gtk_Button;
       btn_sqrt, btn_pcent, btn_car, btn_pun, btn_pu10 : Gtk_Button;
     
       bouton: array(0 .. 9) of Gtk_Button;
       G : constant array(0 .. 9) of Guint := (17, 14, 17, 20, 14, 17, 20, 14, 17, 20);
       D : constant array(0 .. 9) of Guint := (20, 17, 20, 23, 17, 20, 23, 17, 20, 23);
       H : constant array(0 .. 9) of Guint := (16, 13, 13, 13, 10, 10, 10, 7, 7, 7);
       B : constant array(0 .. 9) of Guint := (18, 15, 15, 15, 12, 12, 12, 9, 9, 9);
     
    begin
     
    init;
     
       -- Création de la fenetre
       	gtk_new(fenetre, window_toplevel);
       	set_size_request(fenetre, 400, 300);
        	set_position(fenetre, win_pos_center);
     
       gtk_new(Table, 20, 25, true);
       add(fenetre, Table);
     
     
     
       -- Création d'un Frame "Affichage", suivi
       -- de la Création de l'écran d'affichage
       gtk_new(Frame_affich, "Affichage");
       attach_defaults(Table, Frame_affich, 1, 24, 1, 5);
       gtk_new(Ecran);
       attach_defaults(Table, Ecran, 7, 23, 2, 4);
     
     
     
       -- Création du Frame "Trigonométrie", suivi de la
       -- Création des boutons relatifs à ce frame
       gtk_new(Frame_trigo, "Trigonometrie");
       attach_defaults(Table, frame_trigo, 1, 12, 6, 11);
     
       gtk_new(btn_inv, "Inv");
       attach_defaults(Table, btn_inv, 2, 5, 8, 10);
     
       gtk_new(btn_sin, "Sin");
       attach_defaults(Table, btn_sin, 5, 7, 8, 10);
     
       gtk_new(btn_cos, "Cos");
       attach_defaults(Table, btn_cos, 7, 9, 8, 10);
     
       gtk_new(btn_tan, "Tan");
       attach_defaults(Table, btn_tan, 9, 11, 8, 10);
     
     
     
       -- Création des boutons du frame "Opérations" - opérations usuelles
       -- suivi de la création des boutons relatifs à ce frame
       gtk_new(Frame_ope, "Operations");
       attach_defaults(Table, frame_ope, 1, 12, 12, 19);
     
       gtk_new(btn_plus, "+");
       attach_defaults(Table, btn_plus, 3, 5, 14, 16);
     
       gtk_new(btn_moins, "-");
       attach_defaults(Table, btn_moins, 5, 7, 14, 16);
     
       gtk_new(btn_mul, "*");
       attach_defaults(Table, btn_mul, 7, 9, 14, 16);
     
       gtk_new(btn_div, "/");
       attach_defaults(Table, btn_div, 9, 11, 14, 16);
     
       gtk_new(btn_sqrt, "Sqrt");
       attach_defaults(Table, btn_sqrt, 3, 5, 16, 18);
     
       gtk_new(btn_pcent, "%");
       attach_defaults(Table, btn_pcent, 5, 7, 16, 18);
     
       gtk_new(btn_car, "x2");
       attach_defaults(Table, btn_car, 7, 9, 16, 18);
     
       gtk_new(btn_pun, "x^n");
       attach_defaults(Table, btn_pun, 9, 11, 16, 18);
     
     
     
       -- Création du Frame "Nombres" suivi de la
       -- création des boutons "virgule" et "puissance de 10", suivi de
       -- la création d'une boucle pour générer les x boutons chiffres
       gtk_new(Frame_nomb, "Nombres");
       attach_defaults(Table, Frame_nomb, 13, 24, 6, 19);
     
       gtk_new(btn_virg, ",");
       attach_defaults(Table, btn_virg, 14, 17, 16, 18);
     
       gtk_new(btn_pu10, ".10^x");
       attach_defaults(Table, btn_pu10, 20, 23, 16, 18);
     
       for j in bouton'range loop
     
          gtk_new(bouton(J), integer'image(J));
     
       end loop;
     
       for J in bouton'range loop
     
          Connect(bouton (J), "pressed", To_Marshaller(widget));
          --gtk_new(bouton(J), integer'image(J));
          attach_defaults(Table, bouton(J), G(J), D(J), H(J), B(J));
     
       end loop;
     
    show_all(fenetre);
    main;
     
    end calculatrice;
    ++

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/02/2014, 10h00
  2. Problème de date dans une fenêtre
    Par MaitrePylos dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/08/2012, 20h09
  3. Problème d'affichage dans une fenêtre hEdit
    Par piroman14 dans le forum Débuter
    Réponses: 3
    Dernier message: 04/07/2008, 16h29
  4. problème de dessin dans une fenêtre
    Par Mat 74 dans le forum Windows
    Réponses: 8
    Dernier message: 12/04/2007, 12h44
  5. [WxPERL] Problème BoxSizer dans une fenêtre
    Par LE NEINDRE dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 13/12/2005, 12h41

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