Aktuelle Zeit: 13.12.2018 21:38

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Doppelklick auf EditorGadget
BeitragVerfasst: 11.04.2018 12:16 
Offline
Benutzeravatar

Registriert: 19.02.2010 20:19
Wohnort: Darmstadt
Hallo,

der code für EditorGadget funktionniert nicht

http://www.purebasic.fr/german/viewtopic.php?t=23668

Wie kann ich dass für ein EditorGadget realisieren.
Ich will mit ein Doppelklick auf eine Zeile dass, ein Programm aufgerufen wird 9mit der Inhalt der geklickt Zeile

Code:
If OpenWindow(0, 0, 0, 330, 300, "Eventtypes Beispiel...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  EditorGadget(1, 8, 58, 300, 200)
  For a = 0 To 5
    AddGadgetItem(1, a, "Datei_"+Str(a))
  Next
 
  Repeat
    Event = WaitWindowEvent()
    Select Event
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 1
            Select EventType()
              Case #PB_EventType_LeftClick        : Debug "Klick mit der linken Maustaste"
              Case #PB_EventType_RightClick       : Debug "Klick mit der rechten Maustaste"
              Case #PB_EventType_LeftDoubleClick  : Debug "Doppelklick mit der linken Maustaste"
              Case #PB_EventType_RightDoubleClick : Debug "Doppelklick mit der rechten Maustaste"
            EndSelect
        EndSelect
    EndSelect
  Until Event = #PB_Event_CloseWindow
EndIf

Danke und Gruß
MarcelX

__________________________________________________
Domain angepasst
11.04.2018
RSBasic

_________________
Win-7, PB 5.31 (Windows - x86)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Doppelklick auf EditorGadget
BeitragVerfasst: 11.04.2018 12:21 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Es ist so wie in dem Post beschrieben. Das EditorGadget unterstützt diese Events nicht.
In der Hilfe sind nur drei Events die unterstützt werden.

In dem verlinkten Thread ist ganz am Ende die Lösung. "Subclassing" des Editorgadgets.
D.h. nur mit WindowsAPI möglich.

_________________
PureBasic 5.46 LTS / 5.62 (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Doppelklick auf EditorGadget
BeitragVerfasst: 11.04.2018 12:23 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
In der PB-Hilfe kannst du immer schauen, was unterstützt wird.
Zitat:
Die folgenden Ereignisse werden mittels EventType() unterstützt:
#PB_EventType_Change : der Text wurde durch den Anwender geändert.
#PB_EventType_Focus : der Editor hat den Fokus erhalten.
#PB_EventType_LostFocus: der Editor hat den Fokus verloren.


Da gibt es kein #PB_EventType_LeftDoubleClick o.ä.
Deshalb wird dein Code nie funktionieren.

Die einzige Möglichkeit ist ein Callback. Damit hast du immer alle Events. Nimm den Code von Andesdaf.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Doppelklick auf EditorGadget
BeitragVerfasst: 11.04.2018 12:45 
Offline
Benutzeravatar

Registriert: 19.02.2010 20:19
Wohnort: Darmstadt
Danke für Ihr Rückmeldungen.
In den PB-Hilfe hatte ich es gesehen und in den Thread habe ich die Lösung überseht

_________________
Win-7, PB 5.31 (Windows - x86)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Doppelklick auf EditorGadget
BeitragVerfasst: 14.04.2018 07:14 
Offline
Benutzeravatar

Registriert: 06.07.2014 12:21
Hallo marcelx
man kann das auch ohne API lösen wenn du nur die Mausabfragen benötigst, in dem man diese direkt abfragt.
Für Windows sind das:
Linke Taste:
#WM_LBUTTONDOWN
#WM_LBUTTONUP
#WM_LBUTTONDBLCLK
Rechte Taste:
#WM_RBUTTONDOWN
#WM_RBUTTONUP
#WM_RBUTTONDBLCLK
Ich denke unter Linux/Mac wird es änlich möglich sein

hier ein kleine Beispiel:
Code:
If OpenWindow(0, 0, 0, 330, 300, "Eventtypes Beispiel...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  EditorGadget(1, 8, 58, 300, 200)
  For a = 0 To 5
    AddGadgetItem(1, a, "Datei_"+Str(a))
  Next
Repeat
    Event = WaitWindowEvent()
    Select Event
       Case #WM_LBUTTONDOWN
          If Focus =#True
             Debug "linke Maustaste Down"
          EndIf
       Case #WM_LBUTTONDBLCLK
          If Focus =#True
             Debug "linke Maustasten Doppelclick"
          EndIf   
       Case #WM_LBUTTONUP   
      Case #PB_Event_Gadget
         Select EventGadget()
            Case 1
               Select EventType()
                  Case #PB_EventType_Focus           
                   Debug "Focus erhalten"
                    Focus=#True
                 Case #PB_EventType_LostFocus
                    Focus=#False
                    Debug "Focus Verloren"
               EndSelect       
           EndSelect
    EndSelect
Until Event = #PB_Event_CloseWindow
EndIf

_________________
Intel Quad Core 3,2 Ghz Radeon HD6950 2GB BlitzBasic Plus 1.48 , PureBasic 5.21 LTS/5.30


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Doppelklick auf EditorGadget
BeitragVerfasst: 14.04.2018 09:41 
Offline
Benutzeravatar

Registriert: 19.02.2010 20:19
Wohnort: Darmstadt
Super
Danke silbersurfer

_________________
Win-7, PB 5.31 (Windows - x86)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Doppelklick auf EditorGadget
BeitragVerfasst: 14.04.2018 14:53 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Man sollte dabei bedenken, dass diese Konstanten nicht offiziell von PB in einer Eventschleife unterstützt werden.

Es war auch mal so, dass dieses nicht funktionierte.
Windows API sollte nur in dem dafür unterstütztem Kontext benutzt werden. In diesem Falle in einem Callback. Immer !!!

Es gibt keine Garantie, dass dieses Verhalten von PB so bleibt.

_________________
PureBasic 5.46 LTS / 5.62 (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Doppelklick auf EditorGadget
BeitragVerfasst: 14.04.2018 15:06 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
+1

_________________
BildBildBildBildBildBild


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: 0 Mitglieder und 8 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