 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Digga

Anmeldungsdatum: 07.01.2006 Beiträge: 48
|
Verfasst am: 28.03.2007, 12:11 Titel: Arbeiten mit Bildschirmseiten |
|
|
Hallo
Hab mal wieder ein kleines Problem. würde gerne mit mehrern Bildschirmseiten arbeiten, werde aber leider irgendwie nicht schlau aus der Hilfe. Ich würde gerne eine Menüleiste realisieren, wie in diesem Beispeil:
Code: |
declare sub Menue_Datei
screen 19,24,,,60
color RGB(0,0,0),RGB(255,255,255) 'Schrift-und Hintergrundfarbe
cls
line (0,0)-(1279,15),RGB(207,207,207),BF 'Grauer Menuebalken
line (0,16)-(1279,16),RGB(181,181,181) '****************************
line (0,17)-(1279,17),RGB(156,156,156) '* *
line (0,18)-(1279,18),RGB(130,130,130) '* Abstufung des Balken in *
line (0,19)-(1279,19),RGB(105,105,105) '* dunklere Grautöne *
line (0,20)-(1279,20),RGB(79,79,79) '* *
line (0,21)-(1279,21),RGB(54,54,54) '****************************
color RGB(0,0,0), RGB(207,207,207) 'Schrift-und Hintergrundfarbe
print " Datei"
line (8,13)-(14,13),RGB(0,0,0) 'Unterstrich bei dem D von
line (8,14)-(14,14),RGB(0,0,0) 'Datei
do
taste$ = inkey
Select Case taste$
case chr$(255)+chr$(32)
call Menue_Datei
end select
WHILE INKEY <> "": WEND
loop until taste$ = CHR(27)
'--------------------------------------------------------------------------
Sub Menue_Datei
line (0,0)-(1279,15),RGB(207,207,207),BF
line (0,16)-(1279,16),RGB(181,181,181)
line (0,17)-(1279,17),RGB(156,156,156)
line (0,18)-(1279,18),RGB(130,130,130)
line (0,19)-(1279,19),RGB(105,105,105)
line (0,20)-(1279,20),RGB(79,79,79)
line (0,21)-(1279,21),RGB(54,54,54)
color RGB(0,0,0),RGB(169,169,169)
Locate 1,2
print "Datei"
line (8,13)-(14,13),RGB(0,0,0)
line (8,14)-(14,14),RGB(0,0,0)
line (8,15)-(200,500),RGB(169,169,169),B
line (9,16)-(199,499),RGB(255,255,255),BF
end sub
|
Nun wäre es aber doch so das in dem Fensterteil unter dem Menübalken, nach dem das Kontex runterklappt und wieder hoch, der inhalt an dieser stelle weg ist. Deshalb hab ich mir überlegt das die anweisung in der Sub in einer anderen Seite angezeigt wird und der Bildschirm vorher geschützt wird, so das wenn das Kontex wieder weg ist mein Bildschirm wieder die alte Seite anzeigt. Hoffe ich hab mich einigermaßen gut ausgedrückt.
gruß Digga |
|
Nach oben |
|
 |
Digga

Anmeldungsdatum: 07.01.2006 Beiträge: 48
|
Verfasst am: 28.03.2007, 13:03 Titel: |
|
|
Nachtrag:
Mir würdeschon ein einfaches generelles Beispiel für Bildschirmseiten reichen.
thanks |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 28.03.2007, 14:32 Titel: |
|
|
Weiss nicht ob Du Dir das so vorgestellt hast
Code: |
Declare Sub Main_Screen (Byval mflag As Integer)
Declare Sub Menue_Datei
Dim Shared as integer mflagon=1,mflagoff=0,mflag_status
Screen 19,24,,,60
Sub Main_Screen (Byval mflag As Integer)
Color Rgb(0,0,0),Rgb(255,255,255) 'Schrift-und Hintergrundfarbe
Cls
Line (0,0)-(1279,15),Rgb(207,207,207),BF 'Grauer Menuebalken
Line (0,16)-(1279,16),Rgb(181,181,181) '****************************
Line (0,17)-(1279,17),Rgb(156,156,156) '* *
Line (0,18)-(1279,18),Rgb(130,130,130) '* Abstufung des Balken in *
Line (0,19)-(1279,19),Rgb(105,105,105) '* dunklere Grautöne *
Line (0,20)-(1279,20),Rgb(79,79,79) '* *
Line (0,21)-(1279,21),Rgb(54,54,54) '****************************
Color Rgb(0,0,0), Rgb(207,207,207) 'Schrift-und Hintergrundfarbe
Print " Datei"
Line (8,13)-(14,13),Rgb(0,0,0) 'Unterstrich bei dem D von
Line (8,14)-(14,14),Rgb(0,0,0) 'Datei
If mflag Then Menue_Datei
End Sub
Do
taste$ = Inkey
Select Case taste$
Case Chr$(255)+Chr$(32)
mflag_status=IIf (mflag_status=mflagon,mflagoff,mflagon)
End Select
While Inkey <> "": Wend
Screenlock
Main_Screen (Mflag_Status)
Screenunlock
Loop Until taste$ = Chr(27)
'--------------------------------------------------------------------------
Sub Menue_Datei
Line (0,0)-(1279,15),Rgb(207,207,207),BF
Line (0,16)-(1279,16),Rgb(181,181,181)
Line (0,17)-(1279,17),Rgb(156,156,156)
Line (0,18)-(1279,18),Rgb(130,130,130)
Line (0,19)-(1279,19),Rgb(105,105,105)
Line (0,20)-(1279,20),Rgb(79,79,79)
Line (0,21)-(1279,21),Rgb(54,54,54)
Color Rgb(0,0,0),Rgb(169,169,169)
Locate 1,2
Print "Datei"
Line (8,13)-(14,13),Rgb(0,0,0)
Line (8,14)-(14,14),Rgb(0,0,0)
Line (8,15)-(200,500),Rgb(169,169,169),B
Line (9,16)-(199,499),Rgb(255,255,255),BF
End Sub
|
_________________
 |
|
Nach oben |
|
 |
Lutz Ifer Grillmeister

Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 28.03.2007, 19:24 Titel: |
|
|
blöde frage, grade beim thema menüleisten:
warum nicht ewinfach die winapi benutzen, einfach mal nach dem beispiel von "volta" suchen...
Lutz Ifer _________________ Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft. |
|
Nach oben |
|
 |
Digga

Anmeldungsdatum: 07.01.2006 Beiträge: 48
|
Verfasst am: 28.03.2007, 20:09 Titel: |
|
|
@Eternal_pain
Danke für die Antwort, hab es ein wenig anders gelöst: http://forum.qbasic.at/viewtopic.php?t=4140
Würde gern deine meinung dazu hören.
@LutzIfer
Hab die Forumsuche benutzt gehabt aber muß es dann ja wohl übersehen haben.
Zum Thema WinAPI, damit kenne ich mich nicht aus (vlt. zu blöd? ) . Und zudem liegt bei mir der reiz daran soetwas "nur" mit FreeBasic zu erstellen.
Noch ein vorteil das es "nur" in FreeBasic geschrieben ist, der ist, das Anfänger wie ich eher den Basic-Code verstehen als den von WinAPI.
gruß Digga |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|