Return- oder Enter-Taste einbinden
Verfasst: 25.10.2005 23:37
Hallo,
wenn ich versuche, mich in der Hilfe oder über Forenbeiträge und Codes schlau zu machen, wie man die Return- oder Enter-Tatse oder überhaupt Tastenbefehle in Anwendungen einbindet, die mit "OpenWindow()" beginnen, wird mir immer schwindeliger und das scheint ja ne Wissenschaft für sich zu sein. Da tauchen dann sogar Begriffe auf, die nichtmal in der Hilfe stehen: "Getfocus", "EventwParam()" usw., aber unmöglich schwer kann es nun auch wieder nicht sein, Tastenbefehle einzubinden, wenngleich es schon ganz schön seltsam ist, daß zwar Befehle wie TAB oder SPACE standardmäßig von Windows unterstützt werden und ausgerechnet RETURN oder ENTER nicht. Ich schicke hier nun einen Code, in welchem Rechenaufgaben erzeugt werden, dessen Lösung in einem StringGadget eingetragen werden sollen. Das Programm prüft dann auf "Richtig" oder "Falsch" und weiter geht's. Frage: Wie wird der OK-Button mit RETURN oder ENTER kombiniert? Alles herumprobieren brachte mich bisher nicht auf die Lösung. Danke für Hilfe.
PB42
wenn ich versuche, mich in der Hilfe oder über Forenbeiträge und Codes schlau zu machen, wie man die Return- oder Enter-Tatse oder überhaupt Tastenbefehle in Anwendungen einbindet, die mit "OpenWindow()" beginnen, wird mir immer schwindeliger und das scheint ja ne Wissenschaft für sich zu sein. Da tauchen dann sogar Begriffe auf, die nichtmal in der Hilfe stehen: "Getfocus", "EventwParam()" usw., aber unmöglich schwer kann es nun auch wieder nicht sein, Tastenbefehle einzubinden, wenngleich es schon ganz schön seltsam ist, daß zwar Befehle wie TAB oder SPACE standardmäßig von Windows unterstützt werden und ausgerechnet RETURN oder ENTER nicht. Ich schicke hier nun einen Code, in welchem Rechenaufgaben erzeugt werden, dessen Lösung in einem StringGadget eingetragen werden sollen. Das Programm prüft dann auf "Richtig" oder "Falsch" und weiter geht's. Frage: Wie wird der OK-Button mit RETURN oder ENTER kombiniert? Alles herumprobieren brachte mich bisher nicht auf die Lösung. Danke für Hilfe.
PB42
Code: Alles auswählen
OpenWindow(0,300,300,500,250,#PB_Window_SystemMenu|#PB_Window_screencentered,"") And CreateGadgetList(WindowID(0))
A:
arial=LoadFont(#PB_any, "Arial", 20, #PB_Font_Highquality)
x = Random(10) + 1
y = Random(10) + 1
z = Random(3) + 1
xyg1 = x+y
xyg2 = x-y
xyg3 = x*y
xyg4 = x/y
ag = 0
fls = 0
If z = 2
If x-y < 0
x=y
y=x
EndIf
EndIf
If z = 4
zs = x * y
x = zs
EndIf
C:
OpenWindow(0,300,300,500,250,#PB_Window_SystemMenu|#PB_Window_screencentered,"") And CreateGadgetList(WindowID(0))
arial=LoadFont(#PB_any,"Arial",20, #PB_Font_Highquality)
If LoadFont(0,"Arial",16)
SetGadgetFont(#PB_Default,FontID())
EndIf
fls = fls + 1
If fls=3 And g=1
StringGadget(1,245,80,60,30,"")
ActivateGadget(1)
arial=LoadFont(#PB_any, "Arial", 20, #PB_Font_Highquality)
StartDrawing(WindowOutput())
FrontColor(0,0,200)
DrawingMode(1)
Locate(85,80)
DrawingFont(UseFont(arial))
DrawText(Str(x) + " + " + Str(y))
Locate(210,80)
DrawText("=")
StopDrawing()
Delay(3000)
Goto A
EndIf
StringGadget(1,245,80,60,30,"")
ButtonGadget(2,325,80,50,30,"OK")
ButtonGadget(3,325,118,50,30,"Neu")
ActivateGadget(1)
StartDrawing(WindowOutput())
FrontColor(0,0,200)
DrawingMode(1)
Locate(50,10)
DrawingFont(UseFont(arial))
DrawText("")
Select z
Case 1
g=1
Locate(90,80)
DrawText(Str(x) + " + " + Str(y))
Locate(210,80)
DrawText("=")
Case 2
g=2
Locate(90,80)
DrawText(Str(x) + " - " + Str(y))
Locate(210,80)
DrawText("=")
Case 3
g=3
Locate(90,80)
DrawText(Str(x) + " x " + Str(y))
Locate(210,80)
DrawText("=")
Case 4
g=4
Locate(90,80)
DrawText(Str(x) + " / " + Str(y))
Locate(210,80)
DrawText("=")
EndSelect
StopDrawing()
Repeat
EventID = WaitWindowEvent()
GadgetID = EventGadgetID()
Select GadgetID
Case 2
If Val(GetGadgetText(1)) = x + y And g=1
Goto B
EndIf
If Val(GetGadgetText(1)) = x - y And g=2
Goto B
EndIf
If Val(GetGadgetText(1)) = x * y And g=3
Goto B
EndIf
If Val(GetGadgetText(1)) = x / y And g=4
B:
StartDrawing(WindowOutput())
DrawingMode(2)
FrontColor(0,0,200)
Locate(390,78)
DrawingFont(UseFont(arial))
DrawText("Richtig!")
StopDrawing()
F = 0
Pruef = 1
Else
StartDrawing(WindowOutput())
DrawingMode(4)
FrontColor(0,0,200)
Locate(390,78)
DrawingFont(UseFont(arial))
DrawText("Falsch")
StopDrawing()
F = 1
Pruef = 1
EndIf
Case 3
If EventGadgetID()=3 And Pruef = 1
Pruef = 0
Goto A
EndIf
EndSelect
Until EventID = #PB_Eventclosewindow