Val(GetEnvironmentVariable("PB_Tool_Scintilla"))
PB 5.10 - Mauszeiger in der IDE
Re: PB 5.10 - Mauszeiger in der IDE
Schade, man kommt mit folgender Methode wohl nicht mehr an das Scintilla handle der PB IDE (getestet mit PB 5.00 unter Win 7):
Val(GetEnvironmentVariable("PB_Tool_Scintilla"))

Val(GetEnvironmentVariable("PB_Tool_Scintilla"))
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
- 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
Re: PB 5.10 - Mauszeiger in der IDE
Klar, wenn man als Tool der IDE gestartet wurde, klappt das auchKurzer hat geschrieben:Schade, man kommt mit folgender Methode wohl nicht mehr an das Scintilla handle der PB IDE (getestet mit PB 5.00 unter Win 7):
Val(GetEnvironmentVariable("PB_Tool_Scintilla"))
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: PB 5.10 - Mauszeiger in der IDE
Ach, ts-soft, wenn ich Dich nicht hätte.
Ich ging davon aus, dass die Variable auch schon zur Laufzeit des Editors existiert.
Leider kennt PB 5.10 die Konstante #SCI_SETMARGINCURSORN nicht. Vermutlich kennt die verwendet Scintilla.dll dann die entsprechende Message auch nicht (zu alte Version?).
Habe es wie folgt versucht (funktioniert aber nicht):
Die Werte 2248 und 2/7 habe ich der Scintilla headerdatei entnommen.
Vermutlich steckt der Teufel wieder mal im Detail.
Egal, war nen Versuch. 
Ich ging davon aus, dass die Variable auch schon zur Laufzeit des Editors existiert.
Leider kennt PB 5.10 die Konstante #SCI_SETMARGINCURSORN nicht. Vermutlich kennt die verwendet Scintilla.dll dann die entsprechende Message auch nicht (zu alte Version?).
Habe es wie folgt versucht (funktioniert aber nicht):
Code: Alles auswählen
scintilla=Val(GetEnvironmentVariable("PB_Tool_Scintilla"))
If scintilla
SendMessage_(scintilla,2248,2,0) ; 2 (normaler Cursor) oder 7 (reverser Cursor)
EndIf
EndVermutlich steckt der Teufel wieder mal im Detail.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Re: PB 5.10 - Mauszeiger in der IDE
Funktioniert schon, Parameter 3 ist die Marginnummer und erst Parameternummer 4 ist der Cursor. Folgendes Beispiel momentan nur als Scintillagadget und nicht die IDE:Kurzer hat geschrieben:Vermutlich steckt der Teufel wieder mal im Detail.Egal, war nen Versuch.
Code: Alles auswählen
If OpenWindow(0, 0, 0, 320, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If InitScintilla()
ScintillaGadget(0, 10, 10, 300, 70, #Null)
; Output set to red color
ScintillaSendMessage(0, #SCI_STYLESETFORE, 0, RGB(255, 0, 0))
; Set the initial text to the ScintillaGadget
ScintillaSendMessage(0, #SCI_SETTEXT, 0, @"This is a simple ScintillaGadget with text...")
; Adding a second line of text with linebreak before
Text$ = Chr(10) + "Second line"
ScintillaSendMessage(0, #SCI_APPENDTEXT, Len(Text$), @Text$)
#SCI_SETMARGINCURSORN = 2248
#SC_CURSORARROW = 2
#SC_CURSORREVERSEARROW = 7
ScintillaSendMessage (0, #SCI_SETMARGINCURSORN, 1, #SC_CURSORARROW)
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIfRe: PB 5.10 - Mauszeiger in der IDE
Danke Josh!
jetzt klappts auch als Tool.
Mauszeiger ist wieder wie in 4.61 -
jetzt klappts auch als Tool.
Code: Alles auswählen
EnableExplicit
#SCI_SETMARGINCURSORN = 2248
#SC_CURSORARROW = 2
;#SC_CURSORREVERSEARROW = 7
Declare Scintilla.i
Scintilla = Val(GetEnvironmentVariable("PB_Tool_Scintilla"))
If Scintilla
SendMessage_(Scintilla, #SCI_SETMARGINCURSORN, 0, #SC_CURSORARROW)
EndIf
End"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.