Cursor im StringGadget verschieben

Anfängerfragen zum Programmieren mit PureBasic.
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

TS-Soft hat geschrieben:

Code: Alles auswählen

Range.CHARRANGE
Was ist den das schon wieder? .rect und ähnliches habe ich ja schon des öfteren gesehen aber CHARRANGE.... :allright:

Achja, kleine Verbesserung für Edel`s Code:

Code: Alles auswählen

ButtonGadget(4,240,10,25,23,"v") 
:mrgreen:
Windows 11 - PB 6.03 x64
_________________________________
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 »

marco2006 hat geschrieben:
TS-Soft hat geschrieben:

Code: Alles auswählen

Range.CHARRANGE
Was ist den das schon wieder?

Code: Alles auswählen

Structure CHARRANGE
  cpMin.l
  cpMax.l
EndStructure
: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
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Ich war natürlich gleich auf MSDN.
Und noch etwas ist mir aufgefallen: Du nutzt hier Rückgabewerte von SendMessage :allright: ..habe ich ehrlich gesagt auch noch nie gesehen bzw. ist es mir noch nie aufgefallen.

Der kurze Code ist gar nicht so einfach wie er scheint.
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Es steht immer dabei was zurueck kommt.
Return Value
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

Nun ja, hiermit geht es auch hoch und runter:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 322, 180, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
  EditorGadget(0, 8, 8, 306, 133)
  ButtonGadget(1, 160, 150, 60, 25, "=>")
  ButtonGadget(2, 100, 150, 60, 25, "<=")
  ButtonGadget(3, 220, 150, 60, 25, ">")
  ButtonGadget(4, 50, 150, 60, 25, "<")
  Define I.l, X.l, Y.l, Text.s
 
  For I = 1 To 8
    Text + "Feel the ..Pure.. Power" + #CRLF$
  Next
  SetGadgetText(0, Text)
  Editor_SetCursorPos(0, 5, 5)
  SetActiveGadget(0)
 
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Break
     
      Case #PB_Event_Gadget
        If EventGadget() > 0
          X = Editor_GetCursorX(0)
          Y = Editor_GetCursorY(0)
          If EventGadget() = 1
            Editor_SetCursorPos(0, X + 1, Y)
          ElseIf EventGadget() = 2
            Editor_SetCursorPos(0, X - 1, Y)
          ElseIf EventGadget() = 3
            Editor_SetCursorPos(0, X, Y+1)
          ElseIf EventGadget() = 4
            Editor_SetCursorPos(0, X, Y-1)            
          EndIf
          SetActiveGadget(0)
        EndIf
    EndSelect
  ForEver
EndIf
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Antworten