# Programmation GTK2 en Pascal/GtkFrame

* Programmation GTK2 en Pascal
* Introduction
* Pré-requis
* Logiciels nécessaires
* Installation sous Linux
* Installation sous Windows
* Installation sous Mac/OS
* Une application minimale
* Les bases
* La notion d'objet
* La gestion des évènements
* Le placement des contrôles
* Les contrôles (widgets) Gtk
* Les fenêtres
* Les conteneurs
* Les visuels
* Les boutons
* La saisie de données
* Les listes déroulantes
* Les menus
* Les décorations
* La barre d'outils
* Les sélections
* Les zones de texte
* Les listes et arbres
* La Glib : objets et fonctions
* Dessiner avec le Gdk
* Conclusion
* Bibliographie

## Présentation

Le contrôle GtkFrame permet de créer différentes zones dans une même fenêtre à l'aide de cadres qui peuvent avoir un titre afin de définir la zone.
Il est classé par différents auteurs dans les contrôles décoratifs, mais il pourrait également être dans les conteneurs.

### Hiérarchie

* Hiérarchie
* GObject
* └─GtkObject
* └─GtkWidget
* └─GtkContainer
* └─GtkBin
* └─GtkFrame

## Utilisation de base
### Création

Le contrôle GtkFrame étant très simple, il n'y a qu'une seule fonction de création :
Le paramètre _label est tout simplement le texte qui sera affiché en haut à gauche du cadre (position par défaut).

### Modification du texte

Il peut arriver que dans votre application, le texte du cadre nécessite une modification. Bien entendu, le contrôle GtkFrame est fourni avec toutes les fonctions nécessaires :
Le paramètre frame est le contrôle GtkFrame dont nous voulons modifier le texte, et _label est le nouveau texte à inscrire. Cette fois encore, il faut utiliser une fonction de conversion pour le premier paramètre qui est cette fois GTK_FRAME.
Pour récupérer le texte du cadre, la fonction est :

### Remplacer le texte par un contrôle

Les cadres offrent aussi la possibilité de remplacer le texte par un contrôle quelconque (GtkImage, GtkStockItem, etc.) grâce à cette fonction :
Et comme toujours, la fonction permettant de récupérer le contrôle affiché:

### Position du texte

Par défaut, la position du texte est en haut à gauche du cadre, centré en hauteur par rapport à la ligne supérieure. Cela peut-être modifié avec cette fonction :
Les valeurs xalign et yalign doivent être comprises entre 0.0 et 1.0.
Le paramètre xalign définit la position horizontale du texte. Une valeur de 0.0 positionne le texte à gauche du cadre, tandis qu'une valeur de 1.0 le positionne à droite. Évidemment, une valeur de 0.5 centrera le texte.
Quant à yalign, il permet de définir la position verticale du texte par rapport à la ligne supérieure du cadre. Une valeur de 0.0 mettra le nom en dessous de la ligne et une valeur de 1.0 le mettra au-dessus de la ligne.
On peut, bien sûr, connaître les valeurs de positionnement avec les fonctions suivantes :

### Style du cadre

Le style du cadre est donné par la configuration visuelle de ses lignes et plus précisément de l'ombre des lignes. Cette modification de fait avec cette fonction :
Le paramètre type peut prendre cinq valeurs différentes :
* GTK_SHADOW_NONE : pas d'ombre
* GTK_SHADOW_IN : les lignes sont biseautées à l'intérieur, comme un champ de saisie
* GTK_SHADOW_OUT : les lignes sont biseautées à l'extérieur, comme un bouton
* GTK_SHADOW_ETCHED_IN : les lignes paraissent creusées (valeur par défaut)
* GTK_SHADOW_ETCHED_OUT : les lignes paraissent en relief

## Programme exemple

Nous allons créer un programme très simple avec trois cadres différents.
Voilà le fichier gtk039.pas :
Voilà ce que donne l'exécution du programme gtk039 :
* Décorations :
* GtkFrame ~
* GtkHSeparator ~
* GtkVSeparator