 |
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 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 16.01.2007, 08:36 Titel: Scrollen im Grafik-Modus |
|
|
Hallo!
Hab da ein Problem!
Lasse mit einem Programm eine Datei auslesen, und die am Bildschirm anzeigen. Im Konsolen-Modus geht das auch soweit, da ich ja den Scrollbalken habe. Bloss, wie kann man des im Grafikmodus lösen?
Ich sehe quasi immer nur den "Rest" des Textes...
mfg Sven |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 16.01.2007, 14:29 Titel: |
|
|
Da müsstest du entweder auf die WinAPI zugreifen oder aber du baust dir einfach eine eigene Scrollbox.
Mausrad etc. kannst du über GetMouse abfragen.
Einfach mal nachschauen bei der Referenz für GetMouse.
Allerdings ziemlich überlastet atm, evtl. auch gar nicht erreichbar.
Aufruf jedenfalls mit:
Code: |
GetMouse X, Y, MausRad, Tasten
|
/edit: bb-Tags editiert _________________ Eine handvoll Glück reicht nie für zwei.
--

Zuletzt bearbeitet von Mao am 16.01.2007, 18:58, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.01.2007, 15:49 Titel: |
|
|
[/quote] beendet nicht eine URI
du kannst auch nach 30 oder so zeilen immer den user eine taste drücken lassen, den bidschirm löschen und die nächsten 30 zeilen anzeigen lassen, wenn's an bissal primitiv san darf  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 16.01.2007, 18:58 Titel: |
|
|
Stimmt.
Steh schon den ganzen Tag über neben mir...  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 17.01.2007, 17:03 Titel: |
|
|
Hi SvenStueck,
eine einfache Funktion ohne Scrollbalken, nur zeitverzögertes scrollen, hab ich vor einiger Zeit mal geschrieben.
Evtl. kannst du sie gebrauchen. Code: | '15.05.06 , ab FB 0.15b erstellt by Volta
'Text weich scrollen
Declare Function scrollup (Byval steps As Ushort, _
Byval delay As Ushort) As Integer
Screen 18, 32
Dim text As String
Dim As Integer ff = Freefile, z = Width Shr 16
Windowtitle "Text softscroll"
Open "scrolltext.bas" For Input As #ff
Do Until Eof(ff)
Line Input #ff, text
scrollup 16, 20 'Schrifthoehe (Zeilen), Sleep [ms] pro Zeile
Locate z, 1
Print text;
Loop
Close #ff
Sleep
End
Function scrollup (Byval steps As Ushort, Byval delay As Ushort) As Integer
Dim scr As Integer Ptr
Dim As Integer breit, hoch, bytepp, pitch, i, j, x
Screeninfo breit, hoch,, bytepp, pitch
Function = 0
If bytepp <> 4 Then Exit Function
For x = 1 To steps
Screenlock
For i = 1 To hoch -2
scr= Screenptr + i *pitch
For j = 0 To (breit -1)
scr[j]= scr[j +pitch \4]
Next j
Next i
Screenunlock
Sleep delay
Next x
Function = -1
End Function
|
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 22.01.2007, 23:13 Titel: |
|
|
Merce für die Antworten!
Habe das ganze jetzt folgendermassen gelöst:
Code: |
sub ptext
cls
for t=st to en
print text(t)
next t
end sub
sub askmouse
getmouse x,y,wheel
select case wheel
case is > lastwheel
if st-3>=1 then st=st-3:en=en-3
ptext
case is <lastwheel
if en+3<=a and a>=26 then st=st+3:en=en+3
ptext
case lastwheel
case else
end select
lastwheel=wheel
end sub
|
is seeehr simple, allerdings a extrem funktionabel  |
|
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.
|
|