Seite 1 von 1

Klickabfrage auf 'Movies' [gelöst]

Verfasst: 16.03.2008 19:54
von IceFish
Hallo,

ich kam heute auf das Problem, dass ich eine Doppelklickabfrage auf ein Fenster programmieren wollte. Das besondere ist, dass in dem Fenster ein Film läuft. Anscheinend funktioniert so die normale abfrge nicht mehr. Vielleicht hat einer eine Idee wie ich das beheben kann, ohne einen 'Screen' zu öffnen.

Hier ein Code wie es NICHT funktioniert:

Code: Alles auswählen

 InitMovie()
 If OpenWindow(0,100,100,800,600,"")
  LoadMovie(0,"video.avi")
  ResizeMovie(0,0,0,800,600)
  PlayMovie(0,WindowID(0))
  Repeat
   Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
     quit = 1
    Case #WM_LBUTTONDBLCLK
     Debug "Doppelklick"
   EndSelect
  Until quit = 1
 EndIf
 End

Verfasst: 16.03.2008 20:20
von edel

Code: Alles auswählen

 InitMovie()
 
 Global oldcb
 
 Procedure callback(hwnd,msg,wparam,lparam)
 	
 	If msg = #WM_LBUTTONDBLCLK
 		Debug "Doppelklick"
 	EndIf 
 	
 	ProcedureReturn CallWindowProc_(oldcb,hwnd,msg,wparam,lparam)
 EndProcedure
 
 If OpenWindow(0,100,100,800,600,"")
  LoadMovie(0,"C:\Windows\ehome\ColorTint.wmv")
  ResizeMovie(0,0,0,800,600)
  PlayMovie(0,WindowID(0))
  
  
  child = FindWindowEx_(WindowID(0),0,"VideoRenderer",0)  
  oldcb = SetWindowLong_(child,#GWL_WNDPROC,@callback())
  
  
  Repeat
  Until #PB_Event_CloseWindow = WaitWindowEvent()
  
 EndIf 

Verfasst: 16.03.2008 20:23
von IceFish
Hey, cool! Danke, klasse Idee! :allright: