Tastenabfrage bzw. Event vom WindowedScreen bekommen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Schneeflocke
Beiträge: 12
Registriert: 02.04.2005 15:01
Wohnort: Berlin

Beitrag von Schneeflocke »

ne tut mir leid
bei Mouseover kann ich dir nicht helfen muss aber auch gehen

(bin ja noch Anfänger in PB)
:wink:

komisch, ich bekomm bei nen ImageGadget kein Event !!! nur bei anderen wie z.B. ButtonGadget
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Kaeru Gaman hat geschrieben:@125
ist dir zufällig bekannt, ob ich auch ein Mouseover checken kann?
uff, Keine Ahnung habs bisher nie in die Richtung eingesetzt :|
komisch, ich bekomm bei nen ImageGadget kein Event !!! nur bei anderen wie z.B. ButtonGadget
Welche PB Version nutzt du?
Schneeflocke
Beiträge: 12
Registriert: 02.04.2005 15:01
Wohnort: Berlin

Beitrag von Schneeflocke »

PureBasic 3.90 (Demo)

achso vielleicht wegen der demo ??
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

hmm eigentlich müsstes gehn Teste mal folgendes(klick aufs ImageGadget(Das Bild gibts nur in Windows XP wennde älteres Windows hast musste den ImagePfad anpassen)):

Code: Alles auswählen

; PureBasic Visual Designer v3.90 build 1361


;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Image_2
EndEnumeration
UseJPEGImageDecoder()
Image0=LoadImage(#PB_Any,"C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\Blaue Berge.jpg")
ResizeImage(Image0,570,360)
Procedure Open_Window_0()
  If OpenWindow(#Window_0, 216, 0, 593, 380,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "New window ( 0 )")
    If CreateGadgetList(WindowID())
      ImageGadget(#Image_2, 10, 10, 570, 360, ImageID())
      
    EndIf
  EndIf
EndProcedure
Open_Window_0()
Repeat
Event=WaitWindowEvent()
Select Event
 Case #PB_Event_Gadget
   Select EventGadgetID()
     Case #Image_2
      MessageRequester("","")
   EndSelect
EndSelect
Until Event=#PB_event_CloseWindow
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Und für den Kaeru ein MouseOver :) (Powered by Boardsuche + PureBoard Archive) :

Code: Alles auswählen

#window=0 
#image1=1 
#image2=2 

#normal1=1 
#over1=2 
#normal2=3 
#over2=4 




Procedure MakePlate(id.l,x.l,y.l,t$,fg.l,bg.l) 
  CreateImage(id,x,y) 
  StartDrawing(ImageOutput()) 
  Box(0, 0,x,y,bg) 
  DrawingMode(1) 
  FrontColor(Red(fg),Green(fg), Blue(fg)) 
  w.l=TextLength(t$) 
  h.l=TextLength("Mi") 
  Locate(x/2-w/2,y/2-h/2) 
  DrawText(t$) 
  StopDrawing() 
EndProcedure 



Procedure myMouseOver(hWnd) 
  GetCursorPos_(cursor.POINT) 
  MapWindowPoints_(0,hWnd,cursor,1) 
  ProcedureReturn ChildWindowFromPoint_(hWnd,cursor\x,cursor\y) 
EndProcedure 


MakePlate(#normal1,150,300,"Bild1a",$ffffff,$11ff11) 
MakePlate(#over1,150,300,"Bild1b",$ffffff,$1111ff) 
MakePlate(#normal2,200,200,"Bild2a",$ffffff,$ff1111) 
MakePlate(#over2,200,200,"Bild2b",$ffffff,$11ffff) 



OpenWindow(#window,600,400,600,400, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "mouseover") 
CreateGadgetList(WindowID()) 
ImageGadget(#image1,10,10,150,300,UseImage(#normal1)) 
ImageGadget(#image2,300,100,200,200,UseImage(#normal2),#PB_Image_Border ) 



Repeat 
  EventID = WaitWindowEvent() 
  MouseOverID=myMouseOver(WindowID()) 
  Select MouseOverID 
    Case GadgetID(#image1) 
      SetGadgetState(#image1,UseImage(#over1)) 
    Case GadgetID(#image2) 
      SetGadgetState(#image2,UseImage(#over2)) 
    Default    
    SetGadgetState(#image1,UseImage(#normal1)) 
    SetGadgetState(#image2,UseImage(#normal2)) 
  EndSelect 
Until  EventID=#PB_EventCloseWindow
Schneeflocke
Beiträge: 12
Registriert: 02.04.2005 15:01
Wohnort: Berlin

Beitrag von Schneeflocke »

hmm ..
das Image ist schwarz kein Bild drauf zu sehen und beim raufklicken passiert auch nichts
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

1. hast du Win XP Deutsch (mein nicht Deutschsprachpack sondern Deutsche version)?

//Edit: 3.93 Demo: http://www.purebasic.com/download/PureBasic_Demo.exe install die mal ist die neuste und testes nochmal
Schneeflocke
Beiträge: 12
Registriert: 02.04.2005 15:01
Wohnort: Berlin

Beitrag von Schneeflocke »

ok gut warte ..
Schneeflocke
Beiträge: 12
Registriert: 02.04.2005 15:01
Wohnort: Berlin

Beitrag von Schneeflocke »

achso und ja ich habe WinXP Deutsch :wink:
Schneeflocke
Beiträge: 12
Registriert: 02.04.2005 15:01
Wohnort: Berlin

Beitrag von Schneeflocke »

Jehhhhhaaa nun klappt es !!!!!!!!!!! :D

mann war das ne scheiße sieht jetzt auch alles ganz anders aus, andere Simbole usw.

coolll danke 125 DANKE :mrgreen: :mrgreen:

is aber komisch hatte die 3.90 Version von http://www.purebasic.de/
installation sah auch anders aus eagl es KLAPPT jeha

danke nochmal
Antworten