2Fenster Input?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Conner

Betreff: 2Fenster Input?

BeitragSo, Sep 11, 2005 9:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ih bei Blitz+ den Grafik-Mode öffen startet ein nornmales Fenster und die Grafik wird angezeigt.. schön..

Wenn ich aber in diesem Fenster noch etwas schreiben will öffnet sich ein Fenster direkt daneben nur für die Schrift.... ich möchte aber alles in einem...

wie mach ich das... woran liegt das?

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Sep 11, 2005 10:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Liegt an B+
Print schreibt immer in die Konsole,
wenn du Text nimmst wird es im Grafikfenster ausgegeben!

Für Input must du dir einen Esatz coden oder im CodeArchiv nachsehen!
[BB2D | BB3D | BB+]
 

Florian

BeitragSo, Sep 11, 2005 10:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

woran liegt das?


Der Befehl Input braucht ein art DOS-Box.
Wenn zunächst keine Dos-Box zu Verfügung steht, öffnet der Befehl eine Dos-Box. So hat man zwei Fenster.

Zitat:

wie mach ich das...


Um dies zu vermeiden, muss man eine andere Eingabe-Funktion schreiben ober verwenden.

BlitzBasic: [AUSKLAPPEN]

Function gui_input$(x,y,txt$,id)
Color 255,255,255
Rect x-1,y-1,StringWidth(txt$)+15,StringHeight(txt)+2,0
If mh
If RectsOverlap(x,y,StringWidth(txt)+16,StringHeight(txt),MouseX(),MouseY(),1,1) And gui_erra = 0
gui_selinp = id
ElseIf gui_selinp = id
gui_selinp = -1
EndIf
EndIf
If id=gui_selinp Then
key=GetKey()
If key>31 Then txt$=txt$+Chr(key)
If KeyHit(82) Then txt$=txt$+\"0\"
If KeyHit(79) Then txt$=txt$+\"1\"
If KeyHit(80) Then txt$=txt$+\"2\"
If KeyHit(81) Then txt$=txt$+\"3\"
If KeyHit(75) Then txt$=txt$+\"4\"
If KeyHit(76) Then txt$=txt$+\"5\"
If KeyHit(77) Then txt$=txt$+\"6\"
If KeyHit(71) Then txt$=txt$+\"7\"
If KeyHit(72) Then txt$=txt$+\"8\"
If KeyHit(73) Then txt$=txt$+\"9\"
If KeyHit(181) Then txt$=Left(txt$,Len(txt$)-1):txt$=txt$+\"/\"
If KeyHit(83) Then txt$=txt$+\",\"
If KeyHit(14) And Len(txt$)>0 Then txt$=Left(txt$,Len(txt$)-1)
Rect x+StringWidth(txt$)+4,y+11,5,1
EndIf
Text x+3,y,txt$
Return txt$
End Function


BlitzBasic: [AUSKLAPPEN]

Graphics 640,480,0,2
SetBuffer BackBuffer()

Global mh
Global gui_selinp

Local text1$=\"blubber?\", text2$=\"harhAR\"

Repeat
Cls
If KeyHit(1) Then FlushKeys : End

mh = 0
If MouseHit(1) Then mh = 1

text1$ = gui_input$(10,20,text1$,1)
text2$ = gui_input$(15,40,text2$,2)

Flip
Forever
 

$tankY

BeitragMo, Sep 12, 2005 17:22
Antworten mit Zitat
Benutzer-Profile anzeigen
dat geht aber kompliziert einfacher, wenn du das in ner schleife mit getkey und dann die tasten mit > < einschliesst...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group