>>Windows-API, richtig?
Korrekt. In PureBASIC sind sehr viele Windows API (Application Programming Interface) Funktionen schon vordefiniert. Man erkennt API-Funktionen in PB am nachgestellten Unterstrich wie in SendMessage
_(...). Wenn man in seinem PB-Installationsverzeichnis den Ordner Help anlegt und dort die Hilfe-Datei Win32.Hlp (
http://www.purebasic.com/download/WindowsHelp.zip) hineinkopiert, kann man sogar über die F1-Taste direkt die Beschreibung zu einer API-Funktion erhalten. Allerdings ist die 24 MByte große Win32.Hlp mittlerweile veraltet. Profis installieren sich daher das Microsoft Platform SDK, das allerdings entpackt je nach installiertem Umfang mehrere GByte Platz in Anspruch nimmt. Beschrieben ist dies alles unter diesem PB-Link:
http://www.purebasic.com/german/documen ... _help.html
Wenn man das Platform SDK nicht installieren möchte, kann man aber auch alle API-Funktionen, die in Win32.Hlp fehlen, über eine Google-Suche ermitteln und dort den entsprechenden Microsoft MSDN-Eintrag anklicken.
>>Verstehe aber leider nix von dem Code.
Dem kann man abhelfen:
Code: Alles auswählen
SendMessage_(GadgetID(0), #EM_EXGETSEL, 0, Range.CHARRANGE)
bewirkt, daß Windows eine CHARRANGE-Struktur zurückliefert. Diese Struktur kann man in der PB-IDE nachschlagen, wenn man auf "Werkzeuge/Strukturverzeichnis" klickt, den Karteireiter "Strukturen" aktiviert, unter dem Buchstaben "C" den Eintrag "CHARRANGE" sucht und einen Doppelklick auf diesen Eintrag ausführt. Kurz gesagt liefert diese Struktur die Start- und Ende-Position eines markierten Bereiches im EditorGadget.
Code: Alles auswählen
SendMessage_(GadgetID(0), #EM_SETSEL, Range\cpMin, Range\cpMin)
Diese Funktion wählt einen Bereich im EditorGadget aus, in dem die nächste Aktion stattfinden soll. Range\cpMin ist die Position aus der CHARRANGE-Struktur, an der der Cursor augenblicklich steht, bzw. der Beginn eines markierten Bereiches.
Code: Alles auswählen
SendMessage_(GadgetID(0), #EM_REPLACESEL, 1, @"Hallo! ")
Mit dieser Funktion wird der zuvor spezifizierte Bereich durch die angegebene Zeichenkette "Hallo! " ersetzt, in diesem Falle lediglich eingefügt.
Das war's eigentlich schon. Bei weiteren Verständnisproblemen bitte einfach noch einmal nachfragen...
