|
|
|
LE C
Dans cette rubrique C, je mets des exemples de code pour débuter en programmation sur amiga.
Quelques explications de fonctions et une petite initation au language C.
Il se peut que des erreurs se glissent dans cette partie, si vous en trouvez, merci de me les signaler à stephsite@noos.fr.
|
|
|
Dans cette partie j'explique comment faire pour utiliser certaines fonctions. Il y a également des exemples de codes sur différents sujets.
|
|
|
|
|
|
|
|
|
|
|
|
|
Ouvrir une FENETRE (Window)
Avant d'ouvrir une fenetre il faut initaliser la structure NewWindow pour définir son apparence :
struct NewWindow
{
SHORT LeftEdge, TopEdge;
SHORT Width, Height;
UBYTE DetailPen, BlockPen;
ULONG IDCMPFlags;
ULONG Flags;
struct Gadget *FirstGadget;
struct Image *CheckMark;
UBYTE *Title;
struct Screen *Screen;
struct BitMap *BitMap;
SHORT MinWidth, MinHeight;
SHORT MaxWidth, MaxHeight;
USHORT Type;
};
détaille du contenu de la structure :
- LeftEdge : Position x de la fenetre.
- TopEdge : Position y de la fenetre.
- Width : Largeur da la fenetre. Si la fenetre est dans un ecran haute résolution, la valeur est comprise entre 1 et 640, autrement (en base résolution) la valeur est comprise entre 1 et 320.
- Height : Hauteur de la fenetre. Cette valeur est comprise entre 1 et la valeur de la hauteur de l'ecran.
- DetailPen : Couleur utilisé pour afficher les tesxtes.
- BlockPen : Couleur utilisé pour les remplissages.
- IDCMPFlags : IDCMP.
- Flags : Gadgets de la fenetre
Gadgets systeme:
- WINDOWCLOSE : Gadget de fermeture dans le coin haut gauche de la fenetre.
- WINDOWDRAG : Gadget de barre de titre, permet de déplacer la fenetre.
- WINDOWDEPTH : Gadget de mise en avant ou arriere plan de la fentetre, Les gadgets seront placés dans le coin supérieur droit de la fenetre.
- WINDOWSIZING : Gadget de redimentionnement de la fenetre. (vous pouvez indiquer la taille maximum et minimum de la fenetre en plaçant les variables MinWidth/MinHeight/MaxWidth/MaxHeight).
Le gadget de taille est place dans le bord droit par défaut (SIZEBRIGHT), mais il peut également etre dans le bord inférieur (placer indicateur SIZEBOTTOM).
Fenetres speciales:
- BACKDROP : Indicateur de fenetre d'arrier plan (??).
- BORDERLESS : Indicateur pour une fenetre avec bordure.
- GIMMEZEROZERO : Indicateur de fenetre Gimmezerozero (??).
- SUPER_BITMAP : Indicateur de fenetre SuperBitMap. (si vous allez utiliser votre propre BitMap,vous devez également placer la variable BitMap representé par la structure BitMap)
Indicateurs (flags) Régénérateurs. Si vous n'utilisez pas une fenetre SuperBitMap, placer un de ces indicateurs (flags):
- SIMPLE_REFRESH : Le programmeur redessine l'affichage lui-même.
- SMART_REFRESH : Intuition redessine automatiquement l'affichage si necesaire.
Autres indicateurs (flags):
- REPORTMOUSE : Permet de recevoir les coordonnées x,y de la souri.
- NOCAREREFRESH : Permet de ne pas recevoir les messages pendant que la fentre se redessine.
- RMBTRAP : Permet d'iniber les menus de la fentre active.
- ACTIVATE : Permet d'activer la fenetre a l'ouverture.
- FirstGadget : Pointeur sur le 1er controle (Gadget) de la liste, ou NULL s'il n'y a pas de controles (Gadget) sur la fenetre.
- CheckMark : Pointeur sur une structure Images.
- Title : Pointeur sur une chaine de caractere (termine par le caractere NULL) utilisé pour le titre de la fenetre.
- Screen : Pointeur sur l'ecran (Custom Screen), ou NULL si la fenetre est connecter a l'ecran du Workbench.
- BitMap : Si vous utilisez une fenetre SuperBitMap alors vous devez donner a Intuition un pointeur sur une structure BitMap initalisé, autrement NULL.
Si la fenetre a le garget systeme WINDOWSIZING de déclaré, il est nécessaire de décider des tailles minimum/maximum de la fenetre, autrement ignorer cette variable.
- MinWidth : Largeur minimum de la fenetre.
- MinHeight : Hauteur minimum de la fenetre.
- MaxWidth : Largeur maximum de la fenetre.
- MaxHeight : Hauteur maximum de la fenetre.
- Type : Si la fenetre est connecter à l'ecran du Workbench, mettre WBENCHSCREEN, autrement mettre CUSTOMSCREEN.
Une fois la structure NewWindow déclaré, il faut utiliser la fonction OpenWindow() pour ouvrir la fenetre.
La fonction OpenWindow() a comme paramétre un pointeur sur la structure NewWindow
La fonction OpenWindow() retourne un pointeur de type Window ou NULL si echéque
Exemple :
|
|
|
|
|
|
|
|
|
|