Pure Basic : optimized basic compiler
English  
Deutsch  
Introduction visual basic compiler Nouveautés visual basic compiler Télécharger visual basic compiler Screenshots optimized programming language Acheter visual basic compiler Support visual basic compiler FAQ optimized programming language Liens

Changements bibliothèques de v3.94 à v4.00

Image

- Supprimé: UseImage() - changez UseImage(#Image) par ImageID(#Image) quand l'ID est nécessaire.

- Ajouté: CreateImage(#Image, Largeur, Hauteur [, Profondeur]) - nouveau paramètre
- Ajouté: LoadImage(#Image, FichierImage$ [, Options]) - nouveau paramètre
- Ajouté: CatchImage(#Image, AdresseMemoire [, Options])) - nouveau paramètres

- Changé: ImageDepth(#Image) - nouveau paramètre
- Changé: ImageHeight(#Image) - nouveau paramètre
- Changé: ImageWidth(#Image) - nouveau paramètre
- Changé: ImageID(#Image) - nouveau paramètre
- Changé: ImageOutput(#Image) - nouveau paramètre

String

- Ajouté: StrD(Valeur.d [, NombreDeDecimales])
- Ajouté: StrQ(Valeur.q)
- Ajouté: HexQ(Valeur.q)
- Ajouté: BinQ(Valeur.q)
- Ajouté: StrU(Valeur, Type): Ajout de l'option #PB_Quad
- Ajouté: ValD(String$), ValQ(String$)
- Ajouté: StringByteLength(Chaine$ [, Format]) - Renvoie le nombre d'octets de la chaîne de caractères en fonction du 'Format' spécifié.

Math

- Ajouté: IntQ(valeur.d)

Thread

- Ajouté: IsThread(Thread) - teste si le thread existe.
- Ajouté: CreateMutex() - Crée un nouveau mutex.
- Ajouté: FreeMutex(Mutex) - Supprime le 'Mutex' et sa mémoire associée.
- Ajouté: LockMutex(Mutex) - Demande le verrouillage d'un mutex
- Ajouté: TryLockMutex(Mutex) - Essaye de verrouiller le 'Mutex' spécifié, sinon renvoie 0 immédiatement
- Ajouté: UnlockMutex(Mutex) - Déverrouille le mutex , les autres threads peuvent le verrouiller

Process (Nouveau)

- Ajouté: GetEnvironmentVariable(Nom$)
- Ajouté: SetEnvironmentVariable(Nom$, Valeur$)
- Ajouté: RemoveEnvironmentVariable(Nom$)
- Ajouté: ExamineEnvironmentVariables()
- Ajouté: NextEnvironmentVariable()
- Ajouté: EnvironmentVariableName()
- Ajouté: EnvironmentVariableValue()
- Ajouté: ProgramFileName()
- Ajouté: CountProgramParameters()
- Ajouté: IsProgram(Programme)
- Ajouté: ProgramID(Programme)
- Ajouté: ProgramRunning(Programme)
- Ajouté: WaitProgram(Programme [, Minuteur])
- Ajouté: KillProgram(Programme)
- Ajouté: ProgramExitCode(Programme)
- Ajouté: CloseProgram(Programme)
- Ajouté: AvailableProgramOutput(Programme)
- Ajouté: ReadProgramString(Programme)
- Ajouté: ReadProgramData(Programme, *Buffer, Taille)
- Ajouté: ReadProgramError(Programme)
- Ajouté: WriteProgramString(Programme, Texte$)
- Ajouté: WriteProgramData(Programme, *Buffer, Taille)

- Changé: ProgramParameter([Index])
- Changé: RunProgram()

File

- Ajouté: FileBuffersSize(#Fichier, Taille) - Change la taille des caches de lecture/écriture pour le #Fichier spécifié.
- Ajouté: FileID(#Fichier) - Renvoie l'identifiant unique du #Fichier dans le système d'exploitation.
- Ajouté: FlushFileBuffers(#Fichier) - Ecrit immédiatement le contenu du cache dans le #Fichier.
- Ajouté: ReadChar(#Fichier)
- Ajouté: ReadQuad(#Fichier)
- Ajouté: ReadDouble(#Fichier)
- Ajouté: WriteCharacter(#Fichier, Valeur)
- Ajouté: WriteQuad(#Fichier, Valeur)
- Ajouté: WriteDouble(#Fichier, Valeur)
- Ajouté: ReadStringFormat(#Fichier)
- Ajouté: WriteStringFormat(#Fichier, Format)

- Changé: FileSeek(#Fichier, NouvellePosition) - nouveau paramètre
- Changé: WriteData(#Fichier) - nouveau paramètre
- Changé: ReadData(#Fichier) - nouveau paramètre
- Changé: Lof(#Fichier) - nouveau paramètre
- Changé: Loc(#Fichier) - nouveau paramètre
- Changé: ReadByte(#Fichier) - nouveau paramètre
- Changé: ReadWord(#Fichier) - nouveau paramètre
- Changé: ReadLong(#Fichier) - nouveau paramètre
- Changé: ReadFloat(#Fichier) - nouveau paramètre
- Changé: ReadString(#Fichier [,Format]) - nouveau paramètre
- Changé: ReadData(#Fichier) - nouveau paramètre
- Changé: WriteByte(#Fichier, Data) - nouveau paramètre
- Changé: WriteWord(#Fichier, Data) - nouveau paramètre
- Changé: WriteLong(#Fichier, Data) - nouveau paramètre
- Changé: WriteFloat(#Fichier, Data) - nouveau paramètre
- Changé: WriteString(#Fichier, Data [,Format]) - nouveau paramètre
- Changé: WriteStringN(#Fichier, Data [,Format])- nouveau paramètre
- Changé: WriteData(#Fichier, Data, Length) - nouveau paramètre

- Supprimé: UseFile() - changez UseFile(#Fichier) par FileID(#Fichier) quand l'ID est nécessaire.

2DDrawing

- Ajouté: DrawAlphaImage()
- Ajouté: TextHeight(Texte$) - Retourne la hauteur de la chaîne Texte$ en fonction de la surface et de la police en cours
- Ajouté: FillArea(x, y, CouleurBord [, Couleur]) - Si 'Couleur' est -1, alors la zone sera remplie par la couleur trouvée en (x,y).

- Changé: FrontColor(Couleur) - Remplacement de Rouge, Vert, Bleu, par un seul paramètre couleur.(Utilisez RGB() pour une mise à jour rapide)
- Changé: BackColor(Couleur) - Remplacement de Rouge, Vert, Bleu, par un seul paramètre couleur.
- Changé: NewX = DrawText(x, y, Texte$ [, FrontColor [, BackColor]]) - Ajout des coordonnées x/y et des couleurs optionnelles
- Changé: TextLength(Text$) en TextWidth(Text$)

- Supprimé: Locate(x, y) - plus utile (Voir DrawText()).

Palette

- Supprimé: UsePalette()

- Changé: GetPaletteColor(#Palette, Index) - nouveau paramètre
- Changé: SetPaletteColor(#Palette, Index, Color) - nouveau paramètre

Module

- Changé: SetModulePosition(#Module, Position) - nouveau paramètre
- Changé: GetModulePosition(#Module) - nouveau paramètre
- Changé: GetModuleRow(#Module) - nouveau paramètre
- Changé: StopModule(#Module) - nouveau paramètre and -1 = stop tous les modules

Database

- Changé: FirstDatabaseRow((#BaseDeDonnees) - nouveau paramètre
- Changé: PreviousDatabaseRow((#BaseDeDonnees) - nouveau paramètre
- Changé: NextDatabaseRow((#BaseDeDonnees) - nouveau paramètre
- Changé: GetDatabaseLong((#BaseDeDonnees) - nouveau paramètre
- Changé: GetDatabaseFloat((#BaseDeDonnees) - nouveau paramètre
- Changé: GetDatabaseString((#BaseDeDonnees) - nouveau paramètre
- Changé: DatabaseUpdate((#BaseDeDonnees, Requete$) - nouveau paramètre
- Changé: DatabaseQuery((#BaseDeDonnees, Requete$) - nouveau paramètre
- Changé: DatabaseColumnType((#BaseDeDonnees, Colonne)- nouveau paramètre
- Changé: DatabaseColumns((#BaseDeDonnees) - nouveau paramètre
- Changé: DatabaseColumnName((#BaseDeDonnees, Colonne)- nouveau paramètre

- Supprimé: UseDatabase()

Movie

- Changé: MovieAudio(#Film) - nouveau paramètre
- Changé: MovieHeight(#Film) - nouveau paramètre
- Changé: MovieWidth(#Film) - nouveau paramètre
- Changé: MovieInfo(#Film) - nouveau paramètre
- Changé: MovieLength(#Film) - nouveau paramètre
- Changé: RenderMovieFrame(#Film) - nouveau paramètre
- Changé: ResizeMovie(#Film, x, y, largeur, Hauteur) - nouveau paramètre
- Changé: ResumeMovie(#Film) - nouveau paramètre
- Changé: PauseMovie(#Film) - nouveau paramètre
- Changé: StopMovie(#Film) - nouveau paramètre
- Changé: MovieSeek(#Film, Position) - nouveau paramètre
- Changé: MovieStatus(#Film) - nouveau paramètre

- Supprimé: UseMovie()

FileSystem

- Ajouté: FinishDirectory(#Repertoire)
- Ajouté: DirectoryEntryType(#Repertoire)
- Ajouté: DirectoryEntryDate(#Repertoire, TypeDate) - #PB_Date_Created, #PB_Date_Accessed, #PB_Date_Modified
- Ajouté: GetFileDate(NomFichier$, TypeDate)
- Ajouté: SetFileDate(NomFichier$, TypeDate)

- Changé: NextDirectoryEntry(#Repertoire) - nouveau paramètre
- Changé: DirectoryEntryName(#Repertoire) - nouveau paramètre
- Changé: DirectoryEntryAttributes(#Repertoire) - nouveau paramètre
- Changé: DirectoryEntrySize(#Repertoire) - nouveau paramètre
- Renommé": IsFilename() en CheckFilename() - Le nom de la fonction a changé

- Supprimé: UseDirectory()

Notes importantes: NextDirectoryEntry() ne renvoie plus le type d'entrée (fichier/Sous-répertoire). NextDirectoryEntry() renvoie seulement 0 ou 1 (0 signifie qu'il n'y plus d'objets), ceci pour être cohérent avec les autres commandes Examine...()/Next..() de PB. Utilisez DirectoryEntryType() pour connaître le type d'entrée comme vous faisiez avant avec le résultat de NextDirectoryEntry(). FinishDirectory () doit être appelé après chaque ExamineDirectory().

Menu

- Ajouté: GetMenuItemText(#Menu, ItemID)
- Ajouté: GetMenuTitleText(#Menu, ItemID)
- Ajouté: SetMenuItemText(#Menu, ItemID, Text$)
- Ajouté: SetMenuTitleText(#Menu, ItemID, Text$)

- Changé: DisableMenuItem(#Menu, ItemID, State) - nouveau paramètre
- Changé: MenuID(#Menu) - nouveau paramètre

Console

- Ajouté: EnableGraphicalConsole(State)
- Ajouté: RawKey()
- Ajouté: Redirection et support des sorties standards

- Changé: Inkey() - Désormais, renvoie seulement un caractère ou rien (à la place de 2), utilisez RawKey() pour le caractère supplémentaire

Note : Avec l'ancienne bibliothèque les consoles étaient en mode graphique, et les redirections (pipes) ne fonctionnaient pas correctement. (vous ne pouviez pas l'appeler avec une ligne de commande comme : myprogram.exe > test.txt) Maintenant vous avez le choix avec EnableGraphicalConsole(Etat), et si vous n'activez pas explicitement le mode graphique, les redirections devraient se faire correctement vers stdout pour permettre l'écriture de meilleurs outils en mode console. Ceci s'applique également à stdin et aux commandes d'entrée.

AudioCD

- Changé: Remplacement de 'CDAudio' par 'AudioCD' dans le nom de toutes les fonctions (moins franco-anglais)

Toolbar

- Ajouté: ToolBarHeight(#BarreOutils)
- Ajouté: ToolBarID(#BarreOutils)

- Changé: ToolBarTooltip(#BarreOutils, Bouton, Texte$) - nouveau paramètre
- Changé: DisableToolBarButton(#BarreOutils, Bouton, Etat) - nouveau paramètre

Statusbar

- Ajouté: StatusBarHeight(#BarreEtat)
- Ajouté: StatusBarID(#BarreEtat)

Font

- Changé: FontID(#Font) - nouveau paramètre
- Changé: CloseFont() en FreeFont()

- Supprimé: UseFont()

Preferences

- Ajouté: possibilité d'ajouter/changer/effacer des clefs dans les fichiers préférences existants.
- Ajouté: RemovePreferenceKey(Name$)
- Ajouté: RemovePreferenceGroup(Name$)
- Ajouté: ExaminePreferenceGroups() - Commence l'énumération de tous les groupes trouvés dans le fichier
- Ajouté: NextPreferenceGroup() - Renvoie les informations concernant le groupe suivant.
- Ajouté: PreferenceGroupName() - Renvoie le nom du groupe.
- Ajouté: ExaminePreferenceKeys() - Commence l'énumération de toutes les clefs du groupe courant
- Ajouté: NextPreferenceKey() - Renvoie les informations concernant la clef suivante.
- Ajouté: PreferenceKeyName() - Renvoie le nom de la clef courante
- Ajouté: ReadPreferenceQuad(Key$, Default)
- Ajouté: ReadPreferenceDouble(Key$, Default)
- Ajouté: WritePreferenceQuad(Key$, Value)
- Ajouté: WritePreferenceDouble(Key$, Value)

Sprite

- Ajouté: SpriteID(#Sprite)
- Ajouté: FlipBuffer() - Ajout d'une option, pour avoir une synchronisation verticale optimisée dans le mode plein écran

- Renommé": DisplayTranslucideSprite() en DisplayTranslucentSprite()

- Changé: TransparentSpriteColor(#Sprite, R, G, B) en TransparentSpriteColor(#Sprite, Couleur)
- Changé: ClearScreen(R, G, B) en ClearScreen(Couleur)

Library

renamed: IsFunction() -> GetFunction()

Network

- Ajouté: UDP support trough the flags #PB_Network_UDP and #PB_Network_TCP
- Ajouté: GetClientIP()
- Ajouté: GetClientPort()
- Ajouté: EventServerNumber()

- Renommé": NetworkClientID() en EventClient()

Keyboard

- Ajouté: Les constantes #PB_Keyboard_International et #PB_Keyboard_AllowSystemKeys pour KeyboardMode()

Clipboard

- Changé: GetClipboardData(Type) en GetClipboardImage(#Image)
- Changé: SetClipboardData(Type, Data) en SetClipboardImage(#Image)

Memory

- Ajouté: Unicode conversion support to PeekS() and PokeS() between ascii, UTF8 and UTF16
- Ajouté: PeekC(), PeekD(), PeekQ()
- Ajouté: PokeC(), PokeD(), PokeQ()
- Ajouté: MemorySize() - Renvoie la longueur totale (en octets) de la zone de mémoire
- Ajouté: MoveMemory()
- Ajouté: CompareMemoryString(*Text1, *Test2 [Mode [, MaxLength [, Flags]]]) - Nouveaux paramètres pour les comparaisons en UTF16/UTF8/Ascii
- Ajouté: MemoryStringLength() - Nouveaux paramètres pour UTF16/UTF8/Ascii

Note : Les commandes PeekS, PokeS, CompareMemoryString et MemoryStringLength ont maintenant un paramètre pour indiquer le format du texte. Les options possibles sont : #PB_Ascii, #PB_Unicode ou #PB_UTF8. Ceci vous permet de travailler avec des chaînes en mémoire indépendamment du mode dans lequel l'exécutable sera compilé (unicode ou non).

Engine3D

- Changé: CreateMesh(#Mesh,TailleMaximum) - nouveau paramètre
- Changé: MaterialAmbientColor(#Matrix1,-1) - -1 nouveau paramètre

- Ajouté: EntityRenderMode()
- Ajouté: WorldShadows(#PB_Shadow_Additive)
- Ajouté: ParticleEmitterDirection()
- Ajouté: GetEntityMass
- Ajouté: SetEntityMass
- Ajouté: GetEntityFriction
- Ajouté: SetEntityFriction
- Ajouté: EntityPhysicBody
- Ajouté: ExamineWorldCollisions
- Ajouté: NextWorldCollision
- Ajouté: CheckWorldCollisionEntity
- Ajouté: FirstWorldCollisionEntity
- Ajouté: SecondWorldCollisionEntity
- Ajouté: WorldGravity
- Ajouté: EnableWorldCollision
- Ajouté: EnableWorldPhysics
- Ajouté: Parse3DScripts

- Supprimé: RotateParticleEmitter()

Window

- Ajouté: GetActiveWindow() - Renvoie le numéro de la fenêtre qui a le 'focus'.
- Ajouté: DisableWindow(#Fenetre, Etat) - Active ou désactive les interactions avec l'utilisateur.
- Ajouté: GetWindowState(#Fenetre) - Détermine si la #Fenetre est maximisée, minimisée ou affichée normalement.
- Ajouté: SetWindowState(#Fenetre, Etat) - Change l'état minimisé ou maximisé de la #Fenetre
- Ajouté: StickyWindow(#Fenetre, Etat) - Affiche la #Fenetre toujours au premier plan même si elle n'est pas active.
- Ajouté: SetWindowColor(#Fenetre, Couleur) - Change la couleur de fond de la fenêtre
- Ajouté: GetWindowColor(#Fenetre) - Renvoie la couleur de fond de la fenêtre
- Ajouté: SmartWindowRefresh(#Fenetre, Etat) - Active ou désactive le rafraichissement intelligent

- Changé: OpenWindow(#Fenetre, x, y, Largeur, Hauteur, Titre$ [, Options [, ParentID]]) - Les options sont à la fin et optionnelles
- Changé: WaitWindowEvent([Timeout]) - Ajout d'un timeout optionnel
- Changé: ResizeWindow(#Fenetre, x, y, Largeur, Hauteur) - Les paramètres à '-1' doivent être remplacés par #PB_Ignore
- Changé: SetWindowCallback(@Procedure() [, #Fenetre]) - Ajout du paramètre optionnel #Fenetre (Affecte callback seulement à une fenêtre)
- Changé: ResizeWindow(#Fenetre, x, y, largeur, Hauteur) - Maintenant c'est identique à ResizeGadget()
- Changé: WindowID(#Fenetre) - le paramètre n'est plus optionnel
- Changé: WindowHeight(#Fenetre) - nouveau paramètre
- Changé: WindowWidth(#Fenetre) - nouveau paramètre
- Changé: WindowX(#Fenetre) - nouveau paramètre
- Changé: WindowY(#Fenetre) - nouveau paramètre
- Changé: WindowMouseX(#Fenetre) - nouveau paramètre
- Changé: WindowMouseY(#Fenetre) - nouveau paramètre
- Changé: WindowOutput(#Fenetre) - nouveau paramètre

- Renommé": EventWindowID() en EventWindow()
- Renommé": EventGadgetID() en EventGadget()
- Renommé": EventMenuID() en EventMenu()
- Renommé": ActivateWindow() en SetActiveWindow(#Fenetre)

removed: MoveWindow()
- Supprimé: DetachMenu()
- Supprimé: UseWindow()
- Supprimé: Les constantes de compatibilité (Par exemple, remplacez #PB_EventCloseWindow par la constante documentée #PB_Event_CloseWindow)

Gadget

- Ajouté: GetActiveGadget() - Renvoie le numéro du #Gadget qui a actuellement le 'focus'
- Ajouté: GadgetType(#Gadget) - Renvoie le type du #Gadget spécifié.
- Ajouté: SetGadgetData(#Gadget, Valeur) - Associe la 'Valeur' spécifiée au #Gadget (fonctionne avec tous les gadgets).
- Ajouté: GetGadgetData(#Gadget) - Renvoie la valeur associée
- Ajouté: SetGadgetItemData(#Gadget, Element, Valeur) - Associe la 'Valeur' spécifiée avec l'Element du #Gadget (Pour quelques gadgets seulement)
- Ajouté: GetGadgetItemData(#Gadget, Element)
- Ajouté: SetGadgetColor(#Gadget, TypeCouleur, Couleur)
- Ajouté: GetGadgetColor(#Gadget, TypeCouleur)
- Ajouté: SetGadgetItemColor(#Gadget, Element, TypeCouleur, couleur [, Colonne])
- Ajouté: GetGadgetItemColor(#Gadget, Element, TypeCouleur [, Colonne])

- Changé: ActivateGadget(#Gadget) devient SetActiveGadget(#Gadget)
- Changé: ResizeGadget(#Gadget, x, y, Largeur, Hauteur), Remplacez -1 par #PB_Ignore

- Supprimé: #PB_String_MultiLine

Changements pour chaque gadget :

CalendarGadget()
- supporte SetGadgetColor() avec les options suivantes:
@Indent #PB_Gadget_BackColor - couleur du fond
#PB_Gadget_FrontColor - couleur du texte pour les jours affichés
#PB_Gadget_TitleBackColor - couleur du fond du titre du mois
#PB_Gadget_TitleFrontColor - couleur du texte du titre du mois
#PB_Gadget_GreyTextColor - couleur du texte pour les jours n'appartenant pas au mois courant
@EndIndent
ComboBoxGadget()
- Supporte SetGadgetItemData()

ContainerGadget()
- supporte SetGadgetColor() pour la couleur de fond

DateGadget()
- supporte SetGadgetColor() avec les mêmes options que CalendarGadget
- la zone de saisie ne peut pas encore être colorée à ce jour

EditorGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte
- nouvelle option: #PB_Editor_ReadOnly
- supporte SetGadgetrAttribute() avec #PB_Editor_ReadOnly pour renvoyer/changer l'option ReadOnly

ExplorerListGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte et #PB_Gadget_LineColor
- Supporte GetGadgetItemAttribute(#Gadget, 0, #PB_Explorer_ColumnWidth, 2) ; renvoie la largeur de la colonne 2
- Supporte SetGadgetItemAttribute(#Gadget, 0, #PB_Explorer_ColumnWidth, 100, 2) ; fixe la largeur de la colonne 2 à 100
- Supporte GetGadgetItemText(#Gadget, -1, 2) ; renvoie le titre de la colonne 2
- Supporte SetGadgetItemText(#Gadget, -1, "Nouveau Texte", 2) ; change le titre de la colonne 2

ExplorerTreeGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte et #PB_Gadget_LineColor

HyperLinkGadget()
- supporte SetGadgetColor() pour la couleur du texte (la couleur de fond est toujours transparente)
- nouvelle option: #PB_Hyperlink_Underline - Affiche une ligne en dessous du texte sans avoir à utiliser une police soulignée.

ListIconGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte et #PB_Gadget_LineColor (Pour #PB_ListIcon_GridLines)
- Supporte SetGadgetItemColor() pour la couleur de fond et du texte de l'élément (Peut être utilisé pour chaque élément)
- Supporte SetGadgetItemData()
- L'évènement pour détecter si une case à cocher a changé d'état est maintenant #PB_EventType_Change
- Supporte GetGadgetItemAttribute(#Gadget, 0, #PB_ListIcon_ColumnWidth, 2) ; renvoie la largeur de la colonne 2
- Supporte SetGadgetItemAttribute(#Gadget, 0, #PB_ListIcon_ColumnWidth, 100, 2) ; fixe la largeur de la colonne 2 à 100
- Supporte GetGadgetItemText(#Gadget, -1, 2) ; renvoie le titre de la colonne 2
- Supporte SetGadgetItemText(#Gadget, -1, "Nouveau Texte", 2) ; change le titre de la colonne 2

ListViewGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte (Pas pour les différents éléments)
- Supporte SetGadgetItemData()
- Nouvelles options:
#PB_ListView_Multiselect - Permet la sélection de plusieurs éléments.
#PB_ListView_ClickSelect - Permet la sélection de plusieurs éléments. Clicker sur un élément le sélectionne ou le désélectionne.

MDIGadget()
- Les fenêtres filles des MDIGadget ne sont plus des "GadgetItems", mais de vraies fenêtres PB. Ce qui signifie que vous pouvez employer n'importe quelle commande de la bibliothèque Windows (à l'exception de StickyWindow()). Ce qui rend quelques fonctions pour le MDIGadget obsolètes, et implique quelques changements:
- Le gadget n'envoie plus d'événement : les événements close, resize, activate sont reçus comme des événements de fenêtre
- GetGadgetAttribute(), Get/SetGadgetItemAttribute, Get/SetGadgetItemState(), Get/SetGadgetItemText ne sont plus supportés. Toutes ces commandes peuvent être remplacées facilement à l'aide des commandes de la bibliothèque Window.
- RemoveGadgetItem() n'est plus supporté... utilisez CloseWindow()

Les commandes utilisables avec un MDIGadget sont maintenant celles-ci: (plus l'ensemble des commandes de la bibliothèque window !)
- ClearGadgetItemList() : ferme toutes les fenêtres filles
- CountGadgetItems() : renvoie le nombre de fenêtres filles
- GetGadgetState() : renvoie l'identifiant de la fenêtre fille active.
- SetGadgetState() : Change la fenêtre fille active ou ré-arrange la disposition des fenêtres filles
- AddGadgetItem() : Crée une nouvelle fenêtre fille.
Note: Désormais vous devez appeler CreateGadgetList() pour ajouter des éléments à la fenêtre MDI fille, de la même façon que pour une fenêtre normale.

- SetGadgetColor() peut être utilisé avec #PB_Gadget_BackColor pour définir la couleur de fond du MDI
- SetGadgetAttribute() peut être utilisé avec #PB_MDI_Image pour appliquer une image de fond, #PB_MDI_TileImage applique l'image de fond en mosaïque

PanelGadget()
- Ajouté GetGadgetAttribute() avec #PB_Panel_ItemWidth, #PB_Panel_ItemHeight (en lecture seulement) (il doit y avoir au moins un élément dans le PanelGadget())

ProgressBarGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte (Ne fonctionne pas avec les thèmes XP activés)
- supporte SetGadgetAttribute() avec #PB_ProgressBar_Minimum, #PB_ProgressBar_Maximum

ScrollAreaGadget()
- supporte SetGadgetColor() pour la couleur de fond
- nouvelle option: #PB_ScrollArea_Center - La zone interne est automatiquement centrée si sa taille est plus petite que le cadre extérieur
- nouvelles options pour SetGadgetAttribute() #PB_ScrollArea_X/#PB_ScrollArea_Y pour modifier/renvoyer la position actuelle de l'ascenseur.
- Maintenant un évènement est généré quand les ascenseurs sont déplacés

ScrollBarGadget()
- Supporte SetGadgetAttribute() avec #PB_ScrollBar_Minimum, #PB_ScrollBar_Maximum, #PB_ScrollBar_PageLength

SpinGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte (pour colorer la zone d'édition)
- supporte SetGadgetAttribute() avec #PB_Spin_Minimum, #PB_Spin_Maximum
- Nouvelles options:
#PB_Spin_ReadOnly - Le gadget n'est pas éditable, sa valeur ne peut être changée que par les flèches.
#PB_Spin_Numeric - Le gadget met à jour automatiquement le texte affiché par rapport à sa valeur interne, SetGadgetText() n'est pas nécessaire.
- Valeurs pour EventType :
1 - Le bouton 'Haut' a été pressé
-1 - Le bouton 'Bas' a été pressé
#PB_EventType_Change - Le texte dans la zone d'édition a changé

SplitterGadget()
- nouvelles options pour Get/SetGadgetAttribute(): #PB_Splitter_FirstGadget, #PB_Splitter_SecondGadget avec GetGadgetAttribute(), renvoie le numéro du gadget associé avec SetGadgetAttribute(), associe un nouveau gadget au SplitterGadget.

Note: quand un gadget est remplacé à l'aide de SetGadgetAttribute(), l'ancien gadget n'est pas automatiquement supprimé. Il sera remis sur la fenêtre qui contient le splitter, pour permettre de permuter les gadgets entre différents splitters sans avoir à les recréer. Si l'ancien gadget doit être supprimé, son numéro peut être recupéré avec GetGadgetAttribute() puis supprimé par FreeGadget() après son remplacement.

Note: Un gadget ne peut pas être dans deux splitters à la fois. Aussi pour déplacer un gadget d'un splitter à un autre, commencez par le remplacer dans le premier splitter, puis placez le dans le second splitter.

StringGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte

TextGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte

TrackBarGadget()
- supporte SetGadgetAttribute() avec #PB_TrackBar_Minimum, #PB_TrackBar_Maximum

TreeGadget()
- supporte SetGadgetColor() pour la couleur de fond et la couleur du texte et #PB_Gadget_LineColor
- Supporte SetGadgetItemColor() pour la couleur de fond et du texte de l'élément
- Changement complet de la gestion des éléments. Il n'y a plus aucun noeud, juste une liste continue où chaque élément a un « sous-niveau ». Les sous-niveaux de tous les éléments définissent la structure arborescente comme ceci :
   + sublevel 0
   + sublevel 0
   +-+ sublevel 1
   | | sublevel 1
   | +-+ sublevel 2
   | | sublevel 1
   | sublevel 0              
- nouveau paramètre à AddGadgetItem: AddGadgetItem(#Gadget, Position, Texte$ [, ImageID [, Options]]) Le paramètre 'Options' est toujours requis pour le TReeGadget et indique le niveau du nouvel élément.
- nouveau GetGadgetItemAttribute() avec #PB_Tree_SubLevel (readonly) Renvoie le niveau actuel de l'élément dans l'arbre.
- Supprimé: OpenTreeGadgetNode()
- Supprimé: CloseTreeGadgetNode()
- Supprimé: TreeGadgetItemNumber() - peut être émulé facilement avec GadgetItemID()
- Supprimé: CountTreeGadgetNodeItems() - peut être émulé facilement en comparant le niveau des éléments

  Copyright © 2017 Fantaisie Software support@purebasic.com  


By the same author, discover the new web client-side programming language
based on established BASIC rules on spiderbasic.com