Seite 1 von 2
ImageGadget mit ScrollBar, geht das ?
Verfasst: 16.11.2005 00:45
von Thatsanee
Hallo zusammen,
Wie der Titel schon sagt,
ImageGadget mit ScrollBar, geht das ?
Oder gibt es eine elegantere Möglichkeit ein großes Bild
einzublenden und auch hin und her zu scrollen ?
Thatsanee
Verfasst: 16.11.2005 00:47
von Andre
ImageGadget() im ScrollAreaGadget() anzeigen.
Das sollte einfaches + automatisches Scrollen ermöglichen - unter Berücksichtigung der eingestellten Größe für den Scroll-Bereich ("ScrollArea").
Verfasst: 16.11.2005 02:05
von Thatsanee
Andre hat geschrieben:ImageGadget() im ScrollAreaGadget() anzeigen.
Das sollte einfaches + automatisches Scrollen ermöglichen - unter Berücksichtigung der eingestellten Größe für den Scroll-Bereich ("ScrollArea").
Hallo Andre,
warum sollte .....
klappt wunderbar, danke.
Muß wohl doch mal langsam die komplette Hilfe einmal durchlesen,
dann würde sich die eine oder andere Fragen wohl von selbst klären.
Thatsanee
Verfasst: 16.11.2005 02:15
von ts-soft
Schade, hab gerade ein ImageScrollGadget für Dich entwickelt, aber vielleicht braucht es ja jemand anders!
Code: Alles auswählen
Procedure ImageScrollGadget( Gadget, x, y, Breite, Hoehe, ImageID )
Protected ID.l
If ScrollAreaGadget( #PB_Any, x, y, Breite, Hoehe, ImageWidth(), ImageHeight() , 30 )
ID = ImageGadget( Gadget, x, y, ImageWidth(), ImageHeight(), ImageID )
CloseGadgetList()
ProcedureReturn ID
EndIf
ProcedureReturn #False
EndProcedure
If OpenWindow( 0, 0, 0, 640, 480, #PB_Window_ScreenCentered | #PB_Window_SystemMenu , "ImageScrollGadget Test" )
CreateGadgetList(WindowID(0))
ImageScrollGadget( 0, 0, 0, 640, 480, LoadImage(0, "E:\Eigene Dateien\Eigene Bilder\Man Women.bmp"))
Repeat : Event = WaitWindowEvent() : Until Event = #PB_Event_CloseWindow
EndIf
Viel Spaß damit

Verfasst: 16.11.2005 19:50
von Tafkadasom2k5
Was ist denn bitte
"Man Women.jpg"?
Was hast du bitte auf deinem Rechner TS-Soft?
*Shocked*
Gr33tz
Der Marc

Verfasst: 16.11.2005 23:07
von ts-soft
Tafkadasom2k5 hat geschrieben:Was ist denn bitte
"Man Women.jpg"?
Was hast du bitte auf deinem Rechner TS-Soft?
*Shocked*
Gr33tz
Der Marc

In dem Source steht Man Woman.bmp !!!
Hier mal die jpg-Version

- ohne Worte -
Verfasst: 17.11.2005 03:15
von Donald
Verfasst: 04.12.2005 17:11
von sharkpeter
@ts,
ja so einfach funktionieren Männer
Aber hier gleich mal eine Frage, die wohl zum Thema paßt:
Wenn ich ein ImageGadget auf einem ScrollArea habe, geht das Scrollrad nicht,
d.h. das Rad schon, aber es scrollt nicht. Sind nur Text oder auch ein ListView
oder ListIcon im ScrollArea enthalten, geht es sehr wohl.
Gruß Jens
scrollrad
Verfasst: 04.12.2005 20:41
von roherter
Ich habe das so gelöst.
Code: Alles auswählen
Procedure WindowCallback(WindowID,Message,wParam,lParam)
ReturnValue=#PB_ProcessPureBasicEvents
If Message=#wm_mousewheel
#sb_lineup = $0
#SB_LINEDOWN = $1
#wm_vscroll = $115
wert=wParam/65000
If wert=120
SendMessage_(GadgetID(#scroll_button),#wm_vscroll,#sb_lineup,0)
SendMessage_(GadgetID(#scroll_button),#wm_vscroll,#sb_lineup,0)
EndIf
If wert=-120
SendMessage_(GadgetID(#scroll_button),#wm_vscroll,#SB_LINEDOWN,0)
SendMessage_(GadgetID(#scroll_button),#wm_vscroll,#SB_LINEDOWN,0)
EndIf
EndIf
ProcedureReturn ReturnValue
EndProcedure
Ist noch verbesserungsfähig.-.Ich weiß.
Verfasst: 05.12.2005 09:03
von roherter
In wie weit gescrollt werden soll das könte mann über eine forschleife lösen da es ja nicht immer ein scrollschritt ist beim einem schritt hat er entweder 120 oder -120 jenachdem in welche richtung es kann aber auch schon mal das 3 fache sein wenn man das rad schneller bewegt dann einfache diesen wert durch 120 teilen dann hat man die scrollweite, die baust du dan über ne forschleife ein! Ich hoffe du weißt was ich meine?