Aktuelle Zeit: 18.06.2019 23:06

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Container mit CALLBACK
BeitragVerfasst: 10.04.2019 14:20 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo Leute,
steh irgendwie am Schlauch! Der Callback läuft weder auf #DeskWindow_00 noch auf den #DeskWindow_08, jemand eine Ahnung?

Code:
; -----------------------------------
; Container mit CALLBACK
; -----------------------------------
Enumeration
  #DeskWindow_00
  #DeskWindow_08
EndEnumeration

Global Reader_DesktopWeiteX = 800
Global Reader_DesktopHoeheY = 600
Global Rt_DesktopX          = 800
Global Rt_DesktopY          = 600

Procedure Rt_CallBack(WindowID, uMsg, wParam, lParam)
  Protected Result
  Result = #PB_ProcessPureBasicEvents
  ;LINKE Maustaste
  Select uMsg
    Case #WM_LBUTTONDOWN
      Debug "#WM_LBUTTONDOWN"
    Case #WM_MOUSEMOVE
      Debug "#WM_MOUSEMOVE"
    Case #WM_LBUTTONUP
      Debug "#WM_LBUTTONUP"
  EndSelect
  ProcedureReturn Result
EndProcedure
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Procedure Rt_Main()
  ; ----------------------------------------
  hWnd_Hiden = #True
  ; ----------------------------------------
  hWnd = OpenWindow(#DeskWindow_00, 0, 0,Rt_DesktopX, Rt_DesktopY,"Velindos Desk Reader",#PB_Window_BorderLess|#PB_Window_Invisible)
  ; ----------------------------------------
    ContainerGadget(#DeskWindow_08, 0,0,Rt_DesktopX ,Rt_DesktopY ,#PB_Window_BorderLess| GetDesktopWindow_()) 
  ; ----------------------------------------
  CloseGadgetList()
EndProcedure
Procedure Event_Container_08(EEventID)
  ; [08] R O T S T I F T
  Static Key.l
  ; ---------------------------------------
  Select EEventID
    Case #PB_Event_SizeWindow
    Case #PB_Event_MoveWindow
    Case #PB_Event_CloseWindow
    Case #PB_Event_Gadget
      ;{ GADGET
      Select EventGadget()
      EndSelect
      ;}
    Case #PB_Event_Menu
      ;{ MENU
      Select EventMenu()
      EndSelect
      ;}   
    Case #PB_Event_Timer
      ;{ TIMER
      Select EventMenu()
      EndSelect
      ;}
    Case #WM_KEYUP 
      ;{ KEY
      Key.l = EventwParam()
      Select KEY
        Case 13
        Case 27
          End
      EndSelect
      ;}
  EndSelect
EndProcedure
Procedure WindowNr_Event(EEventID)
  ; [08] R O T S T I F T
  Static Key.l
  ; ---------------------------------------
  Select EEventID
    Case #PB_Event_SizeWindow
    Case #PB_Event_MoveWindow
    Case #PB_Event_CloseWindow
    Case #PB_Event_Gadget
      ;{ GADGET
      Select EventGadget()
      EndSelect
      ;}
    Case #PB_Event_Menu
      ;{ MENU
      Select EventMenu()
      EndSelect
      ;}   
    Case #PB_Event_Timer
      ;{ TIMER
      Select EventMenu()
      EndSelect
      ;}
    Case #WM_KEYUP 
      ;{ KEY
      Key.l = EventwParam()
      Select KEY
        Case 13
        Case 27
          End
      EndSelect
      ;}
  EndSelect
EndProcedure

;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;-- RUN
Procedure Rt_RUN()
  ;   ---------------------------------------
  Rt_Main()
  ;   ---------------------------------------
  hWnd_Hiden = #False
  HideWindow(#DeskWindow_00, hWnd_Hiden)
  ;   ---------------------------------------
  Container_08_Hiden = #False
  HideGadget(#DeskWindow_08,Container_08_Hiden)
  ;   ---------------------------------------
SetWindowCallback(@Rt_CallBack(),WindowID(#DeskWindow_00))
  ;   ---------------------------------------
EndProcedure
Rt_RUN()
;}
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;-- REPEAT
Define WindowNr ,EventID ,Key.l
; --------------------------------------
Repeat
  ; --------------------------------------
  WindowNr = EventWindow()
  EventID   = WaitWindowEvent()
  Select WindowNr
    Case #DeskWindow_00
      WindowNr_Event(EEventID)
    Case #DeskWindow_08
      Event_Container_08(EventID)
     
  EndSelect
  ; ---------------------------------------
ForEver
;}


Gruss ... Velindos

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Container mit CALLBACK
BeitragVerfasst: 10.04.2019 14:22 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Es wird bei der Funktion SetWindowCallback() keine WindowID sondern nur die Window-Nummer benötigt. Also dann stattdessen so:
Code:
SetWindowCallback(@Rt_CallBack(),#DeskWindow_00)

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Container mit CALLBACK
BeitragVerfasst: 10.04.2019 14:28 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo RSBasic,
Danke, habe ich irgenwie nicht mehr gewusst. Callback funzt, was aber jetzt nicht mehr geht sind meine Event_Container_08().., weiss der Teufel warum? Habe ESC eingetragen aber es ruhrt sich nischts!

Gruss ... Velindos!

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Container mit CALLBACK
BeitragVerfasst: 10.04.2019 14:36 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo,
habe es nun so gemacht
Zitat:
; Case #DeskWindow_00
; WindowNr_Event(EEventID)
; Case #DeskWindow_08
; Event_Container_08(EEventID)
Case #DeskWindow_00
If #DeskWindow_08
Event_Container_08(EventID)
Else
WindowNr_Event(EventID)
EndIf


Dann Funzt, mir ist es ein Rätsel, warum nicht mit Case?

Gruss ... Velindos!

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Container mit CALLBACK
BeitragVerfasst: 10.04.2019 14:51 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Wenn ich richtig sehe, dann kannst du Fenster- und Gadget-IDs nicht miteinander mischen:
Zitat:
ContainerGadget(#DeskWindow_08, [...]
[...]
WindowNr = EventWindow()
EventID = WaitWindowEvent()
Select WindowNr
Case #DeskWindow_00
WindowNr_Event(EEventID)
Case #DeskWindow_08
Event_Container_08(EventID)

EndSelect


Mit EventWindow() kannst du nur die verschiedenen Fenster unterscheiden. Für Gadgets musst du EventGadget() benutzen. #DeskWindow_08 ist ein Gadget und kein Fenster. Deshalb klappt es mit der Abfrage nicht.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Container mit CALLBACK
BeitragVerfasst: 10.04.2019 15:36 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo,
meinst du so

Zitat:
;-- REPEAT
Define WindowNr ,EventID ,Key.l
; --------------------------------------
Repeat
; --------------------------------------
WindowNr = EventWindow()
EventID = WaitWindowEvent()
Select WindowNr
Case #DeskWindow_00
Select EventID
Case #PB_Event_Gadget
Select EventGadget()
Case #DeskWindow_08
Event_Container_08(EventID)
EndSelect
EndSelect
; .... Weitere
Default
WindowNr_Event(EventID)
EndSelect
; ---------------------------------------
ForEver
;}


Gruss ... Velindos!

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Container mit CALLBACK
BeitragVerfasst: 10.04.2019 15:40 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Ja :allright:

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Container mit CALLBACK
BeitragVerfasst: 10.04.2019 15:49 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo,
Danke für deine Unterstützung!!! Habs wie folgt gelöst

Code:
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;-- REPEAT
Define WindowNr ,EventID ,Key.l
; --------------------------------------
Repeat
  ; --------------------------------------
  WindowNr = EventWindow()
  EventID = WaitWindowEvent()
  Select WindowNr
    Case #DeskWindow_00
      ; WindowNr_Event(EventID)
      Select #DeskWindow_08
        Case #DeskWindow_08
          Event_Container_08(EventID)
      EndSelect
    Default
      WindowNr_Event(EventID)
  EndSelect
  ; ---------------------------------------
ForEver


Gruss ... Velindos

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Exabot [Bot], Google [Bot], Sommertv und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye