Änderungen
Änderungen an den Libraries von v3.94 zu v4.00Image
Entfernt: UseImage() - ändern Sie UseImage(#Image) in ImageID(#Image), wo einfach nur die ID benötigt wird.
Hinzugefügt: CreateImage(#Image, Breite, Höhe [, Tiefe]) - neuer Parameter
Hinzugefügt: LoadImage(#Image, DateiName$ [, Flags]) - neuer Parameter
Hinzugefügt: CatchImage(#Image, DateiName$ [, Länge [, Flags]]) - neue Parameter
Geändert: ImageDepth(#Image) - neuer Parameter
Geändert: ImageHeight(#Image) - neuer Parameter
Geändert: ImageWidth(#Image) - neuer Parameter
Geändert: ImageID(#Image) - neuer Parameter
Geändert: ImageOutput(#Image) - neuer Parameter
String
Hinzugefügt: StrD(Nummer [, Dezimalstellen])
Hinzugefügt: StrQ()
Hinzugefügt: HexQ()
Hinzugefügt: BinQ()
Hinzugefügt: StrU(): ein #PB_Quad Flag hinzugefügt
Hinzugefügt: ValD(), ValQ()
Hinzugefügt: StringByteLength() - zum Berechnen der benötigten Länge eines Strings in den von PureBasic unterstützten verschiedenen Kodierungen
Math
Hinzugefügt: IntQ()
Thread
Hinzugefügt: IsThread(Thread) - testet, ob ein Thread (noch) existiert.
Hinzugefügt: CreateMutex() - erstellt ein Mutex-Objekt
Hinzugefügt: FreeMutex(Mutex) - zerstört das Objekt
Hinzugefügt: LockMutex(Mutex) - wartet bis ein Mutex verfügbar ist und sperrt diesen dann
Hinzugefügt: TryLockMutex(Mutex) - sperrt einen Mutex, wenn verfügbar, andernfalls wird umgehend 0 zurückgegeben
Hinzugefügt: UnlockMutex(Mutex) - entsperrt den Mutex, damit andere Threads diesen sperren können
Process (Neu)
Hinzugefügt: GetEnvironmentVariable(Name$) - ermittelt den Wert einer Umgebungsvariable
Hinzugefügt: SetEnvironmentVariable(Name$, Wert$) - setzt den Wert
Hinzugefügt: RemoveEnvironmentVariable(Name$) - löscht eine Umgebungsvariable
Hinzugefügt: ExamineEnvironmentVariables() - untersucht die derzeit gesetzten Umgebungsvariablen
Hinzugefügt: NextEnvironmentVariable() - ermittelt die nächste Variable
Hinzugefügt: EnvironmentVariableName() - ermittelt den Variablennamen
Hinzugefügt: EnvironmentVariableValue() - ermittelt den Variablenwert
Hinzugefügt: ProgramName() - ermittelt den vollständigen Pfad des Executables
Hinzugefügt: CountProgramParameters() - ermittelt die Anzahl der Parameter
Hinzugefügt: IsProgram(Programm) - überprüft, ob 'Programm' ein gültiges und mit RunProgram gestartetes Programm ist
Hinzugefügt: ProgramID(Programm) - ermittelt die ProcessID des Programms
Hinzugefügt: ProgramRunning(Programm) - gibt 1 zurück, wenn das Programm noch läuft
Hinzugefügt: WaitProgram(Programm [, Timeout]) - wartet auf das Ende des Programms (mit optionalem Timeout). Gibt 1 zurück, wenn das Programm beendet wurde.
Hinzugefügt: KillProgram(Programm) - zwingt das Programm zum Beenden
Hinzugefügt: ProgramExitCode(Programm) - ermittelt den Exitcode des Programms (nur gültig, nachdem das Programm beendet wurde)
Hinzugefügt: CloseProgram(Programm) - schließt die Interaktion mit dem Programm
Hinzugefügt: AvailableProgramOutput(Programm) - gibt die Anzahl an Bytes zurück, die bereit sind zum Lesen
Hinzugefügt: ReadProgramString(Programm) - liest einen String von der Programmausgabe
Hinzugefügt: ReadProgramData(Programm, *Buffer, Größe) - liest Daten von der Ausgabe
Hinzugefügt: ReadProgramError(Programm) - liest eine Nachricht von STDERR
Hinzugefügt: WriteProgramString(Programm, String$) - schreibt in die Programmeingabe (String)
Hinzugefügt: WriteProgramData(Program, *Buffer, Größe)- schreibt Daten in die Programmeingabe
Geändert: ProgramParameter([Index]) - ermittelt den nächsten Parameter (oder den am Positions-Index)
Geändert: RunProgram() mit neuen Flags:#PB_Program_Open - öffnet die Programmkommunikation/ermittelt Informationen #PB_Program_Read - erlaubt das Lesen der Programmausgabe (STDOUT) #PB_Program_Write - erlaubt das Schreiben in die Programmeingabe (STDIN) #PB_Program_Error - erlaubt das Abfragen von Nachrichten auf der Standard-Fehlerausgabe (STDERR) #PB_Program_Connect - verbindet die Ausgabe eines anderen Programms mit der Eingabe dieses Programms
File
Hinzugefügt: FileBuffersSize(#Datei, Größe) - ändert die Größe des Puffers für die angegebene Datei
Hinzugefügt: FileID(#Datei) - gibt die einmalige ID zurück, welche die Datei im Betriebssystem identifiziert
Hinzugefügt: FlushFileBuffers(#Datei) - stellt sich, dass alle gepufferten Operationen auf Disk geschrieben werden
Hinzugefügt: ReadChar(#Datei)
Hinzugefügt: ReadQuad(#Datei)
Hinzugefügt: ReadDouble(#Datei)
Hinzugefügt: WriteChar(#Datei, Wert)
Hinzugefügt: WriteQuad(#Datei, Wert)
Hinzugefügt: WriteDouble(#Datei, Wert)
Hinzugefügt: ReadStringFormat(#Datei)
Hinzugefügt: WriteStringFormat(#Datei, Format)
Geändert: FileSeek(#Datei, NeuePosition) - neuer Parameter
Geändert: WriteData(#Datei) - neuer Parameter
Geändert: ReadData(#Datei) - neuer Parameter
Geändert: Lof(#Datei) - neuer Parameter
Geändert: Loc(#Datei) - neuer Parameter
Geändert: ReadByte(#Datei) - neuer Parameter
Geändert: ReadWord(#Datei) - neuer Parameter
Geändert: ReadLong(#Datei) - neuer Parameter
Geändert: ReadFloat(#Datei) - neuer Parameter
Geändert: ReadString(#Datei [,Format]) - neuer Parameter
Geändert: ReadData(#Datei) - neuer Parameter
Geändert: WriteByte(#Datei, Data) - neuer Parameter
Geändert: WriteWord(#Datei, Data) - neuer Parameter
Geändert: WriteLong(#Datei, Data) - neuer Parameter
Geändert: WriteFloat(#Datei, Data) - neuer Parameter
Geändert: WriteString(#Datei, Data [,Format]) - neuer Parameter
Geändert: WriteStringN(#Datei, Data [,Format]) - neuer Parameter
Geändert: WriteData(#Datei, Data, Länge) - neuer Parameter
Entfernt: UseFile() - ändern Sie UseFile(#Datei) in FileID(#Datei), wo lediglich die ID benötigt wird.
2DDrawing
Hinzugefügt: DrawAlphaImage()
Hinzugefügt: TextHeight(Text$) - gibt die für den String benötigte Höhe zurück (unter Berücksichtigung des aktuellen Zeichensatzes/-ausgabe)
Hinzugefügt: FillArea(x, y, RandFarbe [, Farbe]) - wenn RandFarbe = -1, wird der Bereich mit der gleichen Farbe wie an (x,y) gefüllt
Geändert: FrontColor(Farbe) - Rot, Grün und Blau in nur einen Farbwert verbunden (fügen Sie RGB() für eine schnelle Umsetzung von altem Code hinzu).
Geändert: BackColor(Farbe) - Rot, Grün und Blau in nur einen Farbwert verbunden.
Geändert: NeuX = DrawText(x, y, Text$ [, ZeichenFarbe [, HintergrundFarbe]]) - x/y Koordinaten und optionale Farbwerte hinzugefügt
Geändert: TextLength(Text$) -> TextWidth(Text$) - umbenannt
Entfernt: Locate(x, y) - nicht länger nützlich.
Palette
Entfernt: UsePalette()
Geändert: GetPaletteColor(#Palette, Index) - neuer Parameter
Geändert: SetPaletteColor(#Palette, Index, Farbe) - neuer Parameter
Module
Geändert: SetModulePosition(#Modul, Position) - neuer Parameter
Geändert: GetModulePosition(#Modul) - neuer Parameter
Geändert: GetModuleRow(#Modul) - neuer Parameter
Geändert: StopModule(#Modul) - neuer Parameter und -1 = stoppt alle Module
Database
Geändert: FirstDatabaseRow(#Datenbank) - neuer Parameter
Geändert: PreviousDatabaseRow(#Datenbank) - neuer Parameter
Geändert: NextDatabaseRow(#Datenbank) - neuer Parameter
Geändert: GetDatabaseLong(#Datenbank) - neuer Parameter
Geändert: GetDatabaseFloat(#Datenbank) - neuer Parameter
Geändert: GetDatabaseString(#Datenbank) - neuer Parameter
Geändert: DatabaseUpdate(#Datenbank, Anfrage$) - neuer Parameter
Geändert: DatabaseQuery(#Datenbank, Anfrage$) - neuer Parameter
Geändert: DatabaseColumnType(#Datenbank, Spalte) - neuer Parameter
Geändert: DatabaseColumns(#Datenbank) - neuer Parameter
Geändert: DatabaseColumnName(#Datenbank, Spalte) - neuer Parameter
Entfernt: UseDatabase()
Movie
Geändert: MovieAudio(#Movie) - neuer Parameter
Geändert: MovieHeight(#Movie) - neuer Parameter
Geändert: MovieWidth(#Movie) - neuer Parameter
Geändert: MovieInfo(#Movie) - neuer Parameter
Geändert: MovieLength(#Movie) - neuer Parameter
Geändert: RenderMovieFrame(#Movie) - neuer Parameter
Geändert: ResizeMovie(#Movie, x, y, Breite, Höhe) - neuer Parameter
Geändert: ResumeMovie(#Movie) - neuer Parameter
Geändert: PauseMovie(#Movie) - neuer Parameter
Geändert: StopMovie(#Movie) - neuer Parameter
Geändert: MovieSeek(#Movie, Position) - neuer Parameter
Geändert: MovieStatus(#Movie) - neuer Parameter
Entfernt: UseMovie()
FileSystem
Hinzugefügt: FinishDirectory(#Verzeichnis)
Hinzugefügt: DirectoryEntryType(#Verzeichnis)
Hinzugefügt: DirectoryEntryDate(#Verzeichnis, DateType) - #PB_Date_Created, #PB_Date_Accessed, #PB_Date_Modified
Hinzugefügt: GetFileDate(Dateiname$, DatenTyp)
Hinzugefügt: SetFileDate(Dateiname$, DatenTyp)
Geändert: NextDirectoryEntry(#Verzeichnis) - neuer Parameter
Geändert: DirectoryEntryName(#Verzeichnis) - neuer Parameter
Geändert: DirectoryEntryAttributes(#Verzeichnis) - neuer Parameter
Geändert: DirectoryEntrySize(#Verzeichnis) - neuer Parameter
Umbenannt: IsFilename() in CheckFilename() - Funktionsname geändert
Entfernt: UseDirectory()
Wichtige Hinweise: NextDirectoryEntry() gibt nicht länger den Typ eines Eintrags (Datei/Typ) zurück. Um einheitlich zu anderen Examine...()/Next...() Funktionen in PB zu sein, wird jetzt nur 0 oder 1 zurückgegeben (0 bedeutet keine weiteren Objekte). Verwenden Sie DirectoryEntryType(), um den Typ eines Eintrags herauszufinden, wie Sie dies zuvor mit dem Ergebnis von NextDirectoryEntry() gemacht haben. FinishDirectory() muss nach jedem ExamineDirectory() aufgerufen werden.
Menu
Hinzugefügt: GetMenuItemText(#Menu, EintragID)
Hinzugefügt: GetMenuTitleText(#Menu, EintragID)
Hinzugefügt: SetMenuItemText(#Menu, EintragID, Text$)
Hinzugefügt: SetMenuTitleText(#Menu, EintragID, Text$)
Geändert: DisableMenuItem(#Menu, EintragID, Status) - neuer Parameter
Geändert: MenuID(#Menu) - neuer Parameter
Console
Hinzugefügt: EnableGraphicalConsole(Status)
Hinzugefügt: RawKey()
Hinzugefügt: Umleitung und Standardausgabe Unterstützung
Geändert: Inkey() - gibt jetzt nur 1 Zeichen oder nichts zurück (anstelle von immer 2), verwenden Sie RawKey() für das extra Zeichen
Hinweis: die alte Console Library verwendete einen grafischen Konsolenmodus, womit keine korrekte Ausgabe auf stdout erfolgte (Sie konnten sie nicht über die Befehlszeile aufrufen, wie : myprogram.exe > test.txt). Jetzt haben Sie diese Wahl mit EnableGraphicalConsole(Status), und wenn Sie nicht ausdrücklich den grafischen Modus einstellen, sollte die Ausgabe korrekt an stdout gesendet werden, was Ihnen das Schreiben besserer Konsolen-Werkzeuge ermöglicht. Das gleich gilt für stdin und den Input() Befehl.
AudioCD
Geändert: alle Funktionsnamen von 'CDAudio' in 'AudioCD' (weniger französisch-englisch...)
Toolbar
Hinzugefügt: ToolBarHeight(#ToolBar)
Hinzugefügt: ToolBarID(#ToolBar)
Geändert: ToolBarTooltip(#ToolBar, Schalter, Text$) - neuer Parameter
Geändert: DisableToolBarButton(#ToolBar, Schalter, Status) - neuer Parameter
Statusbar
Hinzugefügt: StatusBarHeight(#StatusBar)
Hinzugefügt: StatusBarID(#StatusBar)
Font
Geändert: FontID(#Font) - neuer Parameter
Geändert: CloseFont() in FreeFont()
Entfernt: UseFont()
Preferences
Hinzugefügt: Möglichkeit zum Hinzufügen/Ändern/Löschen von Schlüsseln in existierenden Prefs-Dateien.
Hinzugefügt: RemovePreferenceKey(Name$)
Hinzugefügt: RemovePreferenceGroup(Name$)
Hinzugefügt: ExaminePreferenceGroups() - untersuchen aller Gruppennamen in der Datei
Hinzugefügt: NextPreferenceGroup() - springt zum nächsten Gruppennamen (die Gruppe wird als die aktuelle gesetzt).
Hinzugefügt: PreferenceGroupName() - ermitteln des Gruppennamens.
Hinzugefügt: ExaminePreferenceKeys() - untersuchen aller Schlüsselnamen in der aktuellen Gruppe.
Hinzugefügt: NextPreferenceKey() - springt zum nächsten Schlüssel.
Hinzugefügt: PreferenceKeyName() - ermitteln den Schlüsselnamen.
Hinzugefügt: ReadPreferenceQuad(Schlüssel$, Standard)
Hinzugefügt: ReadPreferenceDouble(Schlüssel$, Standard)
Hinzugefügt: WritePreferenceQuad(Schlüssel$, Wert)
Hinzugefügt: WritePreferenceDouble(Schlüssel$, Wert)
Sprite
Hinzugefügt: SpriteID(#Sprite)
Hinzugefügt: FlipBuffer() - ein Flag hinzugefügt, um eine CPU-optimierte Synchronisation im Vollbildschirm-Modus zu erhalten.
Umbenannt: DisplayTranslucideSprite() in DisplayTranslucentSprite()
Geändert: TransparentSpriteColor(#Sprite, R, G, B) in TransparentSpriteColor(#Sprite, Farbe)
Geändert: ClearScreen(R, G, B) in ClearScreen(Farbe)
Library
Umbenannt: IsFunction() -> GetFunction()
Network
Hinzugefügt: UDP-Unterstützung über die Flags #PB_Network_UDP und #PB_Network_TCP
Hinzugefügt: GetClientIP()
Hinzugefügt: GetClientPort()
Hinzugefügt: EventServerNumber()
Umbenannt: NetworkClientID() -> EventClient()
Keyboard
Hinzugefügt: #PB_Keyboard_International und #PB_Keyboard_AllowSystemKeys Flags bei KeyboardMode()
Clipboard
Geändert: GetClipboardData(Typ) in GetClipboardImage(#Image)
Geändert: SetClipboardData(Typ, Data) in SetClipboardImage(#Image)
Memory
Hinzugefügt: Unterstützung für Unicode-Konvertierung bei PeekS() und PokeS() zwischen ASCII, UTF8 und UTF16
Hinzugefügt: PeekC(), PeekD(), PeekQ()
Hinzugefügt: PokeC(), PokeD(), PokeQ()
Hinzugefügt: MemorySize() - gibt die Größe eines Speicherblocks zurück
Hinzugefügt: MoveMemory()
Hinzugefügt: CompareMemoryString(*Text1, *Test2 [Modus [, MaxLänge [, Flags]]]) - Neue Flag-Parameter für den Vergleich von UTF16/UTF8/ASCII
Hinzugefügt: MemoryStringLength() - Neue Flag-Parameter für UTF16/UTF8/ASCII Unterstützung
Hinweis: Die Befehle PeekS, PokeS, CompareMemoryString, MemoryStringLength haben jetzt einen Parameter, welcher das String-Format angibt. Mögliche Optionen sind: #PB_Ascii, #PB_Unicode oder #PB_UTF8. Dies erlaubt das Arbeiten mit Strings im Speicher unabhängig vom aktuellen String-Modus, in dem das Executable kompiliert wurde (Unicode oder nicht).
Engine3D
Geändert: CreateMesh(#Mesh, MaximumVertex) - neuer Parameter
Geändert: MaterialAmbientColor(#Matrix1, -1) - -1 neuer Parameter
Hinzugefügt: EntityRenderMode()
Hinzugefügt: WorldShadows(#PB_Shadow_Additive)
Hinzugefügt: ParticleEmitterDirection()
Hinzugefügt: GetEntityMass
Hinzugefügt: SetEntityMass
Hinzugefügt: GetEntityFriction
Hinzugefügt: SetEntityFriction
Hinzugefügt: EntityPhysicBody
Hinzugefügt: ExamineWorldCollisions
Hinzugefügt: NextWorldCollision
Hinzugefügt: CheckWorldCollisionEntity
Hinzugefügt: FirstWorldCollisionEntity
Hinzugefügt: SecondWorldCollisionEntity
Hinzugefügt: WorldGravity
Hinzugefügt: EnableWorldCollision
Hinzugefügt: EnableWorldPhysics
Hinzugefügt: Parse3DScripts
Entfernt: RotateParticleEmitter() (war bisher nutzlos)
Window
Hinzugefügt: GetActiveWindow() - gibt das Fenster mit dem Fokus zurück
Hinzugefügt: DisableWindow(#Window, Status) - deaktiviert Anwendereingaben in das Fenster
Hinzugefügt: GetWindowState(#Window) - ermittelt den Minimiert/Maximiert Status
Hinzugefügt: SetWindowState(#Window, Status)- setzt den Minimiert/Maximiert Status
Hinzugefügt: StickyWindow(#Window, Status) - setzt das Fenster in den Vordergrund aller anderen, auch wenn es deaktiviert ist
Hinzugefügt: SetWindowColor(#Window, Farbe)- setzt die Hintergrundfarbe eines Fensters
Hinzugefügt: GetWindowColor(#Window) - ermittelt die aktuelle Hintergrundfarbe eines Fensters
Hinzugefügt: SmartWindowRefresh(#Window, Status) - Aktiviert oder deaktiviert das "SmartRefresh" Feature (intelligentes Auffrischen)
Geändert: OpenWindow(#Window, x, y, Breite, Höhe, Titel$ [, Flags [, ParentID]]) - Flags sind jetzt am Ende und optional
Geändert: WaitWindowEvent([Timeout]) - optionalen Timeout-Wert hinzugefügt
Geändert: ResizeWindow(#Window, x, y, Breite, Höhe) - '-1' Parameter müssen in #PB_Ignore geändert werden
Geändert: SetWindowCallback(@procedure() [, #Window]) - optionalen Window-Parameter hinzugefügt (um einen Callback nur für ein Fenster einzustellen)
Geändert: ResizeWindow(#Window, x, y, Breite, Höhe) - jetzt das gleiche wie ResizeGadget()
Geändert: WindowID(#Window) - Parameter ist nicht länger optional
Geändert: WindowHeight(#Window) - neuer Parameter
Geändert: WindowWidth(#Window) - neuer Parameter
Geändert: WindowX(#Window) - neuer Parameter
Geändert: WindowY(#Window) - neuer Parameter
Geändert: WindowMouseX(#Window) - neuer Parameter
Geändert: WindowMouseY(#Window) - neuer Parameter
Geändert: WindowOutput(#Window) - neuer Parameter
Umbenannt: EventWindowID() in EventWindow()
Umbenannt: EventGadgetID() in EventGadget()
Umbenannt: EventMenuID() in EventMenu()
Umbenannt: ActivateWindow() in SetActiveWindow(#Window)
Entfernt: MoveWindow()
Entfernt: DetachMenu()
Entfernt: UseWindow()
Entfernt: Konstanten zur Kompatibilität mit früheren Versionen entfernt, wie z.B. #PB_EventCloseWindow (benutzen Sie stattdessen das dokumentierte #PB_Event_CloseWindow)
Gadget
Hinzugefügt: GetActiveGadget() - gibt das gerade aktive Gadget zurück
Hinzugefügt: GadgetType(#Gadget) - gibt eine Konstante zurück, welche den Typ des Gadgets identifiziert
Hinzugefügt: SetGadgetData(#Gadget, Wert) - weist einem Gadget einen Wert hinzu (funktioniert mit allen Gadgets)
Hinzugefügt: GetGadgetData(#Gadget) - liest den zugewiesenen Wert
Hinzugefügt: SetGadgetItemData(#Gadget, Eintrag, Wert) - weist einem Gadget-Eintrag einen Wert zu (funktioniert nur bei bestimmten Gadgets)
Hinzugefügt: GetGadgetItemData(#Gadget, Eintrag)
Hinzugefügt: SetGadgetColor(#Gadget, Farbtyp, Farbe)
Hinzugefügt: GetGadgetColor(#Gadget, Farbtyp)
Hinzugefügt: SetGadgetItemColor(#Gadget, Eintrag, Farbtyp, Farbe [, Spalte])
Hinzugefügt: GetGadgetItemColor(#Gadget, Eintrag, Farbtyp [, Spalte])
Geändert: ActivateGadget(#Gadget) ist jetzt SetActiveGadget(#Gadget)
Geändert: ResizeGadget(#Gadget, x, y, Breite, Höhe), -1 sollte jetzt in #PB_Ignore geändert werden
Entfernt: #PB_String_MultiLine
Individuelle Änderungen bei Gadgets:
CalendarGadget()
- unterstützt SetGadgetColor() mit den folgenden Farbtypen:
#PB_Gadget_BackColor - Hintergrund
#PB_Gadget_FrontColor - Text zum Anzeigen der Tage
#PB_Gadget_TitleBackColor - Hintergrund des Monats-Titels
#PB_Gadget_TitleFrontColor - Textfarbe des Monats-Titels
#PB_Gadget_GreyTextColor - Farbe für Tage, die nicht im aktuellen Monat liegen
ComboBoxGadget()
- unterstützt SetGadgetItemData()
ContainerGadget()
- unterstützt SetGadgetColor() für die Hintergrundfarbe
DateGadget()
- unterstützt SetGadgetColor() mit den gleichen Wert wie das CalendarGadget() zum Einfärben des Aufklapp-Kalenders
- der Eingabebereich kann derzeit nicht eingefärbt werden
EditorGadget()
- unterstützt SetGadgetColor für Vorder- und Hintergrundfarbe
- neuer Flag: #PB_Editor_ReadOnly
- unterstützt SetGadgetrAttribute() mit #PB_Editor_ReadOnly zum Ermitteln/Setzen des "Readonly" Flags
ExplorerListGadget()
- unterstützt SetGadgetColor() für Vorder- und Hintergrundfarbe & #PB_Gadget_LineColor
- unterstützt GetGadgetItemAttribute(#Gadget, 0, #PB_Explorer_ColumnWidth, 2) ; gibt die Breite der Spalte 2 zurück
- unterstützt SetGadgetItemAttribute(#Gadget, 0, #PB_Explorer_ColumnWidth, 100, 2) ; setzt die Breite der Spalte 2 auf 100
- unterstützt GetGadgetItemText(#Gadget, -1, 2) ; gibt die Überschrift der Spalte 2 zurück
- unterstützt SetGadgetItemText(#Gadget, -1, "New Text", 2) ; ändert die Überschrift der Spalte 2
ExplorerTreeGadget()
- unterstützt SetGadgetColor() für Vorder- und Hintergrundfarbe & #PB_Gadget_LineColor
HyperLinkGadget()
- unterstützt SetGadgetColor() für die Vordergrundfarbe (Hintergrund ist immer transparent)
- neuer Flag: #PB_Hyperlink_Underline - zeichnet eine Linie unter den Text (ohne eine unterstrichenen Zeichensatz zu benötigen)
ListIconGadget()
- unterstützt SetGadgetColor() für Vorder- und Hintergrundfarbe und #PB_Gadget_LineColor (für #PB_ListIcon_GridLines)
- unterstützt SetGadgetItemColor() für Vorder- und Hintergrundfarbe (kann für jede Zelle individuell eingestellt werden)
- unterstützt SetGadgetItemData()
- Das Ereignis zum Feststellen einer Änderung der der Checkbox ist jetzt #PB_EventType_Change
- unterstützt GetGadgetItemAttribute(#Gadget, 0, #PB_ListIcon_ColumnWidth, 2) ; gibt die Breite der Spalte 2 zurück
- unterstützt SetGadgetItemAttribute(#Gadget, 0, #PB_ListIcon_ColumnWidth, 100, 2) ; setzt die Breite von Spalte 2 auf 100
- unterstützt GetGadgetItemText(#Gadget, -1, 2) ; gibt die Überschrift von Spalte 2 zurück
- unterstützt SetGadgetItemText(#Gadget, -1, "New Text", 2) ; ändert die Überschrift von Spalte 2
ListViewGadget()
- unterstützt SetGadgetColor() für Vorder- und Hintergrundfarbe (nicht für individuelle Einträge)
- unterstützt SetGadgetItemData()
- neue Flags:
#PB_ListView_Multiselect - erlaubt Mehrfach-Auswahl
#PB_ListView_ClickSelect - Mehrfachauswahl + Anklicken eines Eintrags markiert diesen oder entfernt die Markierung
MDIGadget()
- Die Child-Fenster des MDIGadget sind nicht länger "GadgetItems" (Gadget-Einträge), stattdessen echte PB-Fenster. Dies bedeutet, dass Sie ALLE Befehle der Windows Library mit ihnen benutzen können (mit Ausnahme von StickyWindow()). Dies macht einige der MDIGadget Features überflüssig, daher gibt es einige Änderungen:
- Das Gadget sendet keinerlei Events mehr: alle Ereignisse zum Schließen, Größenänderung oder Aktivieren werden jetzt als Window-Events empfangen.
- GetGadgetAttribute(), Get/SetGadgetItemAttribute, Get/SetGadgetItemState(), Get/SetGadgetItemText werden alle nicht länger unterstützt. All dies kann einfach über die Befehle der Windows Library erledigt werden.
- RemoveGadgetItem() wird nicht länger unterstützt. Verwenden Sie CloseWindow().
Die mit dem MDIGadget nutzbaren Befehle sind jetzt nur noch diese: (+ die gesamte Windows Library!)
- ClearGadgetItemList() : schließt alle Child-Fenster
- CountGadgetItems() : ermittelt die Anzahl an Child-Fenstern im Gadget
- GetGadgetState() : ermittelt die WindowID des gerade im Vordergrund des Gadgets befindlichen Fensters
- SetGadgetState() : setzt ein bestimmtes Fenster in den Vordergrund oder ordnet die Child-Fenster an. (Alles wie beim alten MDIGadget.)
- AddGadgetItem() : erstellt ein MDI Child - dies funktioniert wie folgt:
AddGadgetItem(#MDI, #Window, Titel$ [, ImageID [, Flags]]) - #Window - Nummer des neuen Fensters (kann #PB_Any sein!) - Titel$ - neuer Fenstertitel - ImageID - Icon für das Fenster (optional) - Flags - unterstützt die meisten Flags von OpenWindow, wenn keine angegeben sind, werden die Standard MDI Flags verwendet. Nicht unterstützte Flags: #PB_Window_Borderless, #PB_Window_ScreenCentered, #PB_Window_WindowCenteredHinweis: Sie müssen jetzt CreateGadgetList() aufrufen, um Einträge zu einem MDI Child-Fenster hinzufügen zu können, einfach wie bei normalen Fenstern.
- SetGadgetColor() kann mit #PB_Gadget_BackColor verwendet werden, um die MDI Hintergrundfarbe festzulegen
- SetGadgetAttribute() kann mit #PB_MDI_Image verwendet werden, um ein Hintergrundbild festzulegen, #PB_MDI_TileImage kann den Kachelmodus für das Bild ein- oder ausschalten
PanelGadget()
- GetGadgetAttribute() hinzugefügt, mit #PB_Panel_ItemWidth, #PB_Panel_ItemHeight ("Readonly") (es muss mindestens ein Tab vorhanden sein, damit dies funktioniert)
ProgressBarGadget()
- unterstützt SetGadgetColor() für Vorder- und Hintergrundfarbe (funktioniert nicht mit XP Skins)
- unterstützt SetGadgetAttribute() mit #PB_ProgressBar_Minimum, #PB_ProgressBar_Maximum
ScrollAreaGadget()
- unterstützt SetGadgetColor() für die Hintergrundfarbe
- neuer Flag: #PB_ScrollArea_Center - wenn die innere Größe kleiner als die äußere ist, wird der innere Bereich automatisch zentriert
- neue Optionen für SetGadgetAttribute(): #PB_ScrollArea_X/#PB_ScrollArea_Y zum Auslesen/Setzen der aktuellen Scroll-Position
- generiert jetzt ein Ereignis, wenn gescrollt wird
ScrollBarGadget()
- unterstützt SetGadgetAttribute() mit #PB_ScrollBar_Minimum, #PB_ScrollBar_Maximum, #PB_ScrollBar_PageLength
SpinGadget()
- unterstützt SetGadgetColor für Vorder- und Hintergrundfarbe (to color the edit area)
- unterstützt SetGadgetAttribute() mit #PB_Spin_Minimum, #PB_Spin_Maximum
- Neue Flags:#PB_Spin_ReadOnly - Das zugehörige Stringgadget ist nicht editierbar, die Zahl kann nur durch die Pfeile geändert werden- Werte für EventType (Ereignistypen):
#PB_Spin_Numeric - Das SpinGadget wird automatisch den Text mit dem Wert des eingestellten Status aktualisieren, sodass SetGadgetText nicht benötigt wird.
1 - der 'Hoch' Schalter wurde gedrückt
-1 - der 'Runter' Schalter wurde gedrückt
#PB_EventType_Change - der Text in der Eingabebox wurde geändert
SplitterGadget()
- neue Flags für Get/SetGadgetAttribute(): #PB_Splitter_FirstGadget, #PB_Splitter_SecondGadget
Mit GetGadgetAttribute() geben sie die #Gadget Nummer des gespeicherten Gadget zurück.
Mit SetGadgetAttribute() können Sie ein neues Gadget in den Splitter-Bereich einfügen.
Hinweis: Das alte Gadget wird nicht automatisch freigegeben! (Es wird aus dem Splitter genommen und auf dem gleichen Fenster wie der Splitter platziert.) Wenn Sie daher nicht möchten, dass das alte Gadget verbleibt, entfernen Sie es mit FreeGadget(). Dies ermöglicht das Umschalten von Gadgets in einem Splitter, ohne diese jedes Mal neu erstellen zu müssen.
Hinweis: Sie können ein Gadget nicht gleichzeitig in 2 Splitterbereichen haben. Um dieses daher von einem Splitter in einen anderen zu verschieben, ersetzen Sie es zuerst im ersten Splitter und setzen Sie es dann in den zweiten.
StringGadget()
- unterstützt SetGadgetColor() für Vorder- und Hintergrundfarbe
TextGadget()
- unterstützt SetGadgetColor() für Vorder- und Hintergrundfarbe
TrackBarGadget()
- unterstützt SetGadgetAttribute() mit #PB_TrackBar_Minimum, #PB_TrackBar_Maximum
TreeGadget()
- unterstützt SetGadgetColor() für Vorder- und Hintergrundfarbe & #PB_Gadget_LineColor
- unterstützt SetGadgetItemColor() für Vorder- und Hintergrundfarbe
- Management der Einträge komplett geändert. Es gibt keinerlei Knoten ("Nodes") mehr, einfach eine fortlaufende Liste, wo jeder Eintrag einen "Sublevel" hat. Die Sublevel aller Einträge definieren die Baumstruktur wie folgt:+ Sublevel 0 +-+ Sublevel 1 | | Sublevel 1 | +-+ Sublevel 2 | | Sublevel 1 | Sublevel 0- neuer Parameter für AddGadgetItem: AddGadgetItem(#Gadget, Position, Text$ [, ImageID [, Flags]])
Der "Flags" Parameter wird beim TreeGadget immer benötigt und definiert den Sublevel, in welchen dieser Eintrag eingeordnet wird.
Um den oben dargestellten Baum zu erstellen, gehen Sie wie folgt vor: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)- neues GetGadgetItemAttribute() mit #PB_Tree_SubLevel ("readonly"), um den Sublevel jedes Eintrags zu ermitteln
- Entfernt: OpenTreeGadgetNode()
- Entfernt: CloseTreeGadgetNode()
- Entfernt: TreeGadgetItemNumber() - kann einfach mittels GadgetItemID() und einem Durchlauf durch die Eintragliste emuliert werden
- Entfernt: CountTreeGadgetNodeItems() - kann einfach durch Vergleichen des Sublevels der Einträge emuliert werden