Tastatur-Ereignisse in EditorGadget

Für allgemeine Fragen zur Programmierung mit PureBasic.
Hannes
Beiträge: 16
Registriert: 30.05.2006 11:40
Wohnort: Schweiz

Tastatur-Ereignisse in EditorGadget

Beitrag von Hannes »

Wie kann ich im EditorGadget drin Tastaturereignisse abfangen und dann bei gewissen Kombinationen Text bei der Einfügemarke einfügen?

--Hannes
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ich würde Dir EasyVENt.pbi von srod (engl. Forum) empfehlen, ansonsten
mußte wohl das EditorGadget Subclassen.

Primitivlösungen ala GetAsyncKeyState würde ich nicht empfehlen.
Zuletzt geändert von ts-soft am 03.06.2006 02:10, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Hannes
Beiträge: 16
Registriert: 30.05.2006 11:40
Wohnort: Schweiz

Beitrag von Hannes »

Danke für den Hinweis, EasyVENt.pbi sieht gut aus. Da bleibt nur noch die zweite Frage offen : Wie füge ich einfach Text an der Cursorstelle ein?

Es scheint, dass ich nicht um SendMessage herumkomme....; die Hilfedatei kennt nur

- AddGadgetItem(): Fügt eine Textzeile hinzu
- GetGadgetItemText(): Ermittelt den Textinhalt der angegebenen Zeile
- GetGadgetText(): Ermittelt den Textinhalt des Editor-Gadgets
- RemoveGadgetItem(): Entfernt eine Zeile im Editor
- ClearGadgetItemList(): Löscht den Textinhalt
- SetGadgetItemText(): (Über)Schreibt die angegebene Textzeile
- SetGadgetText(): Ändert den Textinhalt des Editor-Gadgets.
- SetGadgetAttribute(): Mit den folgenden Attributen:

--Hannes
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wenn der Cursor dort ist, bzw. es selektiert ist, sollte dieses reichen

Code: Alles auswählen

SendMessage_(GadgetID(Gadget),#EM_REPLACESEL,0,Text.s)
ansonsten brauchste noch ein paar mehr davon :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten