ImageGadget mit ScrollBar, geht das ?

Anfängerfragen zum Programmieren mit PureBasic.
Thatsanee
Beiträge: 116
Registriert: 11.03.2005 05:12

ImageGadget mit ScrollBar, geht das ?

Beitrag 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
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag 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").
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Thatsanee
Beiträge: 116
Registriert: 11.03.2005 05:12

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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 :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Was ist denn bitte
"Man Women.jpg"?
Was hast du bitte auf deinem Rechner TS-Soft?

*Shocked*

Gr33tz
Der Marc :? :mrgreen:
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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 :? :mrgreen:
In dem Source steht Man Woman.bmp !!!
Hier mal die jpg-Version :mrgreen:
Bild
- ohne Worte -
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Donald
Beiträge: 307
Registriert: 03.01.2005 02:21
Wohnort: Marl

Beitrag von Donald »

:lol: :allright:
DONALD :D www.PureBasic-Donald.de gibt es im Moment nicht mehr
PureBasic - jaPBe - PureVisonXP - TailBite
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Beitrag von sharkpeter »

@ts,

ja so einfach funktionieren Männer :lol:

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
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

scrollrad

Beitrag 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ß.
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag 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?
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Antworten