Seite 1 von 2
Fenster gestalten
Verfasst: 25.01.2011 12:18
von Abraxus
Hi, habe eine Frage zum allgemeinem "OpenConsole()"-Fenster.
Inwieweit kann man dieses Fenster optisch besser gestalten, so dass später ein ansehnlicher Abfragebildschirm entsteht.
Ich habe bislang nirgends davon gelesen und möchte nur diese vielleicht dumme Frage stellen ob man mit PureBasic genügend gestalterische Möglichkeiten hat.
Re: Fenster gestalten
Verfasst: 25.01.2011 12:42
von Kiffi
Hallo Abraxus,
stellt sich die Frage, ob Du nicht von vornherein 'richtige' Fenster willst
(OpenWindow() & Co) anstatt Dich mit Konsolenfenstern herumzuquälen.
Was willst Du denn in dem Fenster darstellen?
Grüße ... Kiffi
Re: Fenster gestalten
Verfasst: 25.01.2011 12:53
von Abraxus
Also, es soll ein Abfragefenster sein. Dem Benutzer sollen mehrere beschriebene Eingabefelder vorgelegt sein, in denen dann die nachgefragten Daten eingetragen werden sollen.
Re: Fenster gestalten
Verfasst: 25.01.2011 13:14
von ts-soft
"DOS"-Zeichensatz findest Du hier:
http://de.wikipedia.org/wiki/Codepage_437
Kleines Beispiel:
Code: Alles auswählen
EnableExplicit
Define i
OpenConsole()
ConsoleTitle("PureBasic Console")
ConsoleColor(14, 4)
EnableGraphicalConsole(1)
Print(Chr($C9))
For i = 1 To 78
Print(Chr($CD))
Next
PrintN(Chr($BB))
For i = 1 To 3
PrintN(Chr($BA))
Next
Print(Chr($C8))
For i = 1 To 78
Print(Chr($CD))
Next
PrintN(Chr($BC))
ConsoleLocate(79, 1)
Print(Chr($BA))
ConsoleLocate(79, 2)
Print(Chr($BA))
ConsoleLocate(79, 3)
Print(Chr($BA))
ConsoleColor(14, 0)
ConsoleLocate(19, 2)
Print("Copyright 2011 by Thomas (ts-soft) Schulz")
ConsoleLocate(24, 7)
ConsoleColor(15, 0)
Print("Taste druecken zum beenden:")
Input()
CloseConsole()
Gruß
Thomas
Re: Fenster gestalten
Verfasst: 25.01.2011 13:16
von Kiffi
auch auf die Gefahr, dass ich jetzt Kloppe bekomme, hier
mal ein kleiner Beispielcode:
Code: Alles auswählen
Enumeration
#MainWindow
EndEnumeration
Enumeration
#MainWindow_lblGesamtmenge
#MainWindow_txtGesamtmenge
#MainWindow_lblMengeStoffA
#MainWindow_txtMengeStoffA
#MainWindow_cmdErgebnis
EndEnumeration
EnableExplicit
Define Quit, WWE
Define Zahl1.f, Zahl2.f, Ergebnis.f
If OpenWindow(#MainWindow, #PB_Ignore, #PB_Ignore, 332, 112, "Rezeptermittlung", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(#MainWindow_lblGesamtmenge, 10, 10, 175, 20, "Gesamtmenge (Kg):", #SS_CENTERIMAGE)
StringGadget(#MainWindow_txtGesamtmenge, 190, 10, 135, 20, "")
TextGadget(#MainWindow_lblMengeStoffA, 10, 35, 175, 20, "Menge Stoff A (100 g pro 1000 Kg):", #SS_CENTERIMAGE)
StringGadget(#MainWindow_txtMengeStoffA, 190, 35, 135, 20, "")
ButtonGadget(#MainWindow_cmdErgebnis, 125, 75, 80, 25, "Ergebnis")
SetActiveGadget(#MainWindow_txtGesamtmenge)
Repeat
WWE = WaitWindowEvent()
Select WWE
Case #PB_Event_CloseWindow
Select EventWindow()
Case #MainWindow
Quit = #True
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case #MainWindow_cmdErgebnis
Zahl1 = ValF(GetGadgetText(#MainWindow_txtGesamtmenge))
Zahl2 = ValF(GetGadgetText(#MainWindow_txtMengeStoffA))
Ergebnis = Zahl2 / 1000 * Zahl1
MessageRequester("Ergebnis", "Das Ergebnis lautet: " + StrF(Ergebnis),0)
EndSelect
EndSelect
Until Quit = #True
EndIf
Grüße ... Kiffi
Re: Fenster gestalten
Verfasst: 25.01.2011 13:37
von rolaf
Ick schmeiss mich wech...

Re: Fenster gestalten
Verfasst: 25.01.2011 13:39
von Abraxus
danke euch beiden! Der Code von Kiffi lässt sich leider nicht abspielen, aber am Code von Thomas konnt ich sehen, dass durchaus was möglich ist.
Lässt sich auch der komplett schwarze Hintergrund in eine andere Farbe umwandeln?
Kann man Kästchen für die Abfragefelder entwickeln?
Wo sind die Grenzen bei der Gestaltung des Fensters?
Muss all dies wissen um zu entscheiden ob ich mit PureBasic weiterarbeiten kann.
Re: Fenster gestalten
Verfasst: 25.01.2011 13:40
von Kiffi
Abraxus hat geschrieben:Der Code von Kiffi lässt sich leider nicht abspielen
Fehlermeldung?
Grüße ... Kiffi
Re: Fenster gestalten
Verfasst: 25.01.2011 13:43
von Abraxus
"Zeile 19: Konstante nicht gefunden #SS_Centerimage."
Arbeite mit der Demo 4.51
Re: Fenster gestalten
Verfasst: 25.01.2011 13:52
von ts-soft
Abraxus hat geschrieben:Lässt sich auch der komplett schwarze Hintergrund in eine andere Farbe umwandeln?
Code: Alles auswählen
EnableExplicit
Define i, j
OpenConsole()
ConsoleTitle("PureBasic Console")
ConsoleColor(0, 1)
EnableGraphicalConsole(1)
For i = 0 To 79
For j = 0 To 24
ConsoleLocate(i, j)
Print(" ")
Next
Next
ConsoleLocate(0, 0)
ConsoleColor(14, 1)
Print(Chr($C9))
For i = 1 To 78
Print(Chr($CD))
Next
PrintN(Chr($BB))
For i = 1 To 3
PrintN(Chr($BA))
Next
Print(Chr($C8))
For i = 1 To 78
Print(Chr($CD))
Next
PrintN(Chr($BC))
ConsoleLocate(79, 1)
Print(Chr($BA))
ConsoleLocate(79, 2)
Print(Chr($BA))
ConsoleLocate(79, 3)
Print(Chr($BA))
ConsoleColor(14, 1)
ConsoleLocate(19, 2)
Print("Copyright 2011 by Thomas (ts-soft) Schulz")
ConsoleLocate(24, 7)
ConsoleColor(15, 1)
Print("Taste druecken zum beenden:")
Input()
CloseConsole()
Ansonsten: Kannst Du alles machen, ist in einer Console aber sehr aufwendig!