Image
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
Geändert: 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_WindowCentered
Hinweis: 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
#PB_Spin_Numeric - Das SpinGadget wird automatisch den Text mit dem Wert des
eingestellten Status aktualisieren, sodass SetGadgetText nicht benötigt wird.
- Werte für EventType (Ereignistypen):
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
|