Dans ce tutoriel nous essayerons de vous guider pour cr�er une calculatrice de base, identique � celle de MS-Windows. Nous utiliserons les fonctions GUI de AutoIt.
Il est consid�r� que vous �tes d�j� familiaris� avec la cr�ation et le lancement de scripts AutoIt comme indiqu� dans l' exemple.
Cr�ation de l'interface graphique (GUI) - (Design)
Dans cette partie nous commencerons par la cr�ation de l'interface graphique (GUI). Il est bon d'avoir une id�e de la conception bas�e sur l'utilit� de notre programme.
C'est-�-dire combien et quels types de contr�les nous aurons besoin. Dans notre cas, nous utiliserons le m�me mod�le que la calculatrice de Windows.
Dans la Fig. 1, nous pouvons voir � quoi ressemblera notre calculatrice.
Fig. 1
Pour commencer la cr�ation de notre interface, nous devons inclure quelques librairies qui d�clare des constantes que nous utiliserons dans notre bo�te de dialoque. Ces constantes contiennent des valeurs num�riques de styles et des param�tres qui d�finissent l'apparence de chaque contr�le, ainsi que les valeurs pour les �v�nements et �tats. (Normalement, "GUIConstantsEx.au3" existe d�j� dans le r�pertoire d'installation de AutoIt). Plus tard, nous verrons comment l'employer, mais pour l'instant nous allons simplement inclure cette librairie en �crivant dans notre script les lignes suivantes:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
GUICreate("Calculator", 260, 230)
$CTRL_btn1 = GUICtrlCreateButton("1", 54, 138, 36, 29)
; Boutons des chiffres
Local $CTRL_btn0 = GUICtrlCreateButton("0", 54, 171, 36, 29)
Local $CTRL_btn1 = GUICtrlCreateButton("1", 54, 138, 36, 29)
Local $CTRL_btn2 = GUICtrlCreateButton("2", 93, 138, 36, 29)
Local $CTRL_btn3 = GUICtrlCreateButton("3", 132, 138, 36, 29)
Local $CTRL_btn4 = GUICtrlCreateButton("4", 54, 106, 36, 29)
Local $CTRL_btn5 = GUICtrlCreateButton("5", 93, 106, 36, 29)
Local $CTRL_btn6 = GUICtrlCreateButton("6", 132, 106, 36, 29)
Local $CTRL_btn7 = GUICtrlCreateButton("7", 54, 73, 36, 29)
Local $CTRL_btn8 = GUICtrlCreateButton("8", 93, 73, 36, 29)
Local $CTRL_btn9 = GUICtrlCreateButton("9", 132, 73, 36, 29)
Local $CTRL_btnPeriod = GUICtrlCreateButton(".", 132, 171, 36, 29)
; Boutons M�moire
Local $CTRL_btnMClear = GUICtrlCreateButton("MC", 8, 73, 36, 29)
Local $CTRL_btnMRestore = GUICtrlCreateButton("MR", 8, 106, 36, 29)
Local $CTRL_btnMStore = GUICtrlCreateButton("MS", 8, 138, 36, 29)
Local $CTRL_btnMAdd = GUICtrlCreateButton("M+", 8, 171, 36, 29)
; Boutons Op�rations
Local $CTRL_btnChangeSign = GUICtrlCreateButton("+/-", 93, 171, 36, 29)
Local $CTRL_btnDivision = GUICtrlCreateButton("/", 171, 73, 36, 29)
Local $CTRL_btnMultiplication = GUICtrlCreateButton("*", 171, 106, 36, 29)
Local $CTRL_btnSubtract = GUICtrlCreateButton("-", 171, 138, 36, 29)
Local $CTRL_btnAdd = GUICtrlCreateButton("+", 171, 171, 36, 29)
Local $CTRL_btnAnswer = GUICtrlCreateButton("=", 210, 171, 36, 29)
Local $CTRL_btnInverse = GUICtrlCreateButton("1/x", 210, 138, 36, 29)
Local $CTRL_btnSqrt = GUICtrlCreateButton("Sqrt", 210, 73, 36, 29)
Local $CTRL_btnPercentage = GUICtrlCreateButton("%", 210, 106, 36, 29)
Local $CTRL_btnBackspace = GUICtrlCreateButton("Backspace", 54, 37, 63, 29)
Local $CTRL_btnClearE = GUICtrlCreateButton("CE", 120, 37, 62, 29)
Local $CTRL_btnClear = GUICtrlCreateButton("C", 185, 37, 62, 29)
Local $CTRL_EdtScreen = GUICtrlCreateEdit("0.", 8, 2, 239, 23)
Local $CTRL_LblMemory = GUICtrlCreateLabel("", 12, 39, 27, 26)
GUISetState()
Local $msg
Do
$msg = GUIGetMsg()
Until $msg = $GUI_EVENT_CLOSE
Fig. 2
Pour cette partie, nous avons seulement besoin de modifier deux lignes de notre code.
Premi�re modification: Dans la premi�re modification, nous ajouterons dans la ligne de la variable $CTRL_EdtScreen, une d�finition pour mettre le contr�le (Edit) en lecture seule ($ES_READONLY) et une autre pour le justifier � droite ($ES_RIGHT), pour assembler ces deux variable nous utiliserons BitOR comme cela est pr�sent� dans la ligne de code ci-dessous. Nous ajouterons aussi $WS_EX_STATICEDGE to the parameter of style �tendu (exStyle) pour donner une apparence creuse � la bordure. Pour plus d'informations sur la table des styles pour le contr�le EDIT, cliquez ici. (Pour une explication d�taill�e de chaque style).
Local $CTRL_EdtScreen = GUICtrlCreateEdit("0.", 8, 2, 239, 23, BitOR($ES_READONLY, $ES_RIGHT), $WS_EX_STATICEDGE)
Local $CTRL_LblMemory = GUICtrlCreateLabel("", 12, 39, 27, 26, $SS_SUNKEN)
Apr�s avoir effectu� ces modifications, lancez votre script. Vous pouvez voir le changement d'apparence dans la Fig. 3, maintenant notre calculatrice ressemble � la Fig. 1, vue au d�part. Vous pouvez aussi regarder ppour r�f�rence.
Fig. 3
En guise d'exercice, vous essayerez de mettre le style $BS_FLAT en param�tre de quelques boutons, et vous les verrez en style plat.