Changements

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$) - Renvoie le contenu de la Variable d'environnement spécifiée
Ajouté: SetEnvironmentVariable(Nom$, Valeur$) - Crée une nouvelle variable d'environnement avec le 'Nom$' et la 'Valeur$' specifiés.
Ajouté: RemoveEnvironmentVariable(Nom$) - Supprime la Variable d'environnement spécifiée
Ajouté: ExamineEnvironmentVariables() - Initialise l'énumération des variables d'environnement disponibles
Ajouté: NextEnvironmentVariable() - Passe à la variable d'environnement suivante
Ajouté: EnvironmentVariableName() - Renvoie le nom de la variable d'environnement
Ajouté: EnvironmentVariableValue() - Renvoie la valeur de la variable d'environnement
Ajouté: ProgramFileName() - Renvoie le chemin complet et le nom du programme
Ajouté: CountProgramParameters() - Renvoie le nombre de paramètres qui ont été passés
Ajouté: IsProgram(Programme) - Teste si le 'Programme' préalablement lancé avec RunProgram() est correctement initialisé
Ajouté: ProgramID(Programme) - Renvoie l'identifiant système unique du 'Programme'.
Ajouté: ProgramRunning(Programme) - Teste si le 'Programme' est toujours en cours d'exécution.
Ajouté: WaitProgram(Programme [, Minuteur]) - Attend que le 'Programme' spécifié se termine, ou que le minuteur expire
Ajouté: KillProgram(Programme) - Termine immédiatement l'exécution du programme spécifié
Ajouté: ProgramExitCode(Programme) - Renvoie le code de retour du 'Programme' quand il s'est terminé
Ajouté: CloseProgram(Programme) - Termine toutes les connexions avec le 'Programme' spécifié
Ajouté: AvailableProgramOutput(Programme) - Renvoie le nombre d'octets qui sont disponibles pour la lecture.
Ajouté: ReadProgramString(Programme) - Lit une ligne texte provenant de la sortie standard (stdout) du 'Programme'
Ajouté: ReadProgramData(Programme, *Buffer, Taille) - Lit les données provenant de la sortie standard (stdout) du 'Programme'
Ajouté: ReadProgramError(Programme) - Lit une ligne texte provenant de la sortie erreur (stderr) du 'Programme'.
Ajouté: WriteProgramString(Programme, Texte$) - Ecrit le Texte$ dans l'entrée standard (stdin) du 'Programme'
Ajouté: WriteProgramData(Programme, *Buffer, Taille)- Ecrit les données dans l'entrée standard (stdin) du 'Programme'.

Changé: ProgramParameter([Index]) - Renvoie le paramètre suivant
Changé: RunProgram() utilise de nouvelles options:
  #PB_Program_Open    - Ouvre des canaux de communication entre le programme lancé et le programme PureBasic
  #PB_Program_Read    - Lecture possible sur la sortie standard (stdout)
  #PB_Program_Write   - Ecriture possible sur l'entrée standard (stdin)
  #PB_Program_Error   - Lecture possible sur la sortie d'erreur(stderr)
  #PB_Program_Connect - Connecte la sortie d'un autre programme à l'entrée du programme PureBasic

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 et -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

Renommé: IsFunction() -> GetFunction()

Network

Ajouté: Option #PB_Network_UDP et #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é: Support de la conversion Unicode avec PeekS() et PokeS() entre ascii, UTF8 et 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)

Supprimé: 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:
#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

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. fonctionne de la façon suivante:
   AddGadgetItem(#MDI, #Fenetre, Titre$ [, ImageID [, Options]])
     - #Fenetre - Numéro de la nouvelle fenêtre (vous pouvez utiliser #PB_Any!)
     - Titre$   - titre de la nouvelle fenêtre
     - ImageID  - Icône pour la fenêtre (optionnel)
     - Options  - Supporte la plupart des options pour OpenWindow,
                  si rien n'est indiqué, les options par défaut d'une fenêtre MDI sont utilisées. 
   Les options suivantes ne sont pas supportées: #PB_Window_Borderless, #PB_Window_ScreenCentered, #PB_Window_WindowCentered
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 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.

Pour créer l'arbre précédent, faites comme ceci:
   AddGadgetItem(#TreeGadget, -1, "sublevel 0", 0, 0)
   AddGadgetItem(#TreeGadget, -1, "sublevel 1", 0, 1)
   AddGadgetItem(#TreeGadget, -1, "sublevel 1", 0, 1)
   AddGadgetItem(#TreeGadget, -1, "sublevel 2", 0, 2)
   AddGadgetItem(#TreeGadget, -1, "sublevel 1", 0, 1)
   AddGadgetItem(#TreeGadget, -1, "sublevel 0", 0, 0)    
- 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

Retour vers l'historique