Doppelklick auf Gadget

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Doppelklick auf Gadget

Beitrag von Velindos »

Hallo,
anscheinend stehe ich auf der Leitung! Wie geht ein Ereignis mit Doppelklick auf ein Gadget. Möchte auf mein Stringgadget klicken und eine größeres Windows zum komfortablen eingeben zu machen!
Wer kann mir da helfen?
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
walker
Beiträge: 278
Registriert: 29.08.2004 18:39
Wohnort: Bayern

Re: Doppelklick auf Gadget

Beitrag von walker »

Tip: gib mal EventType() in der IDE ein und stelle den Cursor in das Wort und drücke F1. (Oder suche in der Hilfe nach: EventType)
Es werden Dir alle Gadgets angezeigt, die Eventtypes unterstützen (dazu gehört auch der Doppelklick im Stringgadget). Ein Beispiel ist auch zu sehen :-)
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: Doppelklick auf Gadget

Beitrag von Velindos »

Hallo,
habs gemacht und hat gekracht! Siehe Beispiel obwohl ich´s gelesen habe!

Code: Alles auswählen

  If OpenWindow(0, 0, 0, 230, 120, "Eventtypes Beispiel...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
     ;ListIconGadget(1, 10, 10, 150, 100, "ListIcon", 140, #PB_ListIcon_GridLines) 
     ;For a= 1 To 4
     ;  AddGadgetItem(1, -1, "Line "+Str(a))
     ;Next a
     StringGadget(1, 10, 10, 150, 100, "TEST")

     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

Warum nicht?

Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Doppelklick auf Gadget

Beitrag von c4s »

Ein bisschen Eigeninitiative ist auch gefragt. Mal bei StringGadget() vorbeischauen... /:->
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: Doppelklick auf Gadget

Beitrag von Andesdaf »

Code: Alles auswählen

EnableExplicit

Global gOldEditProc

Procedure editproc(hWnd, uMsg, wParam, lParam)
  Protected result
    Select uMsg
        Case #WM_LBUTTONDBLCLK
          MessageRequester("Ausgabe", "Links doppelt geklickt")
          result = 0
      Default
        result = CallWindowProc_(gOldEditProc, hWnd, uMsg, wParam, lParam)
    EndSelect
ProcedureReturn result
EndProcedure

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  StringGadget(1,10,10,200,20,"Klicke doppelt linke Maustaste...",0)

  gOldEditProc = SetWindowLongPtr_(GadgetID(1), #GWL_WNDPROC, @editproc())

  Repeat
    Define Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow
EndIf
Für andere Maustasten: http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Musst noch einbauen, dann dürftes gehen.
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

Re: Doppelklick auf Gadget

Beitrag von ts-soft »

@Andesdaf
Jetzt wird aber das Wort unter dem Mauszeiger nicht mehr selektiert :mrgreen:

Der falsche Gebrauch des Doppelklicks ist ein Designfehler. Sollte in dieser Art
und Weise jedenfalls nicht mit dem StringGadget verwendet werden. Damit
bringt man die Nutzer nur zur Weisglut :mrgreen:
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
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: Doppelklick auf Gadget

Beitrag von Velindos »

Hallo,
habe mir die Sache gerade angesehen, super! Also bei diesen Kürzel hatte ich keine Chance.
Werde Sie jetzt einbauen und nochmals Danke für eure Hilfe und Tips.

Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
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

Re: Doppelklick auf Gadget

Beitrag von ts-soft »

Du solltest lieber einen Button oder ähnlich einbauen, der das Fenster vergrößert,
ein nicht richtig funktionierendes StringGadget kann doch nicht die Lösung sein :mrgreen:

Doppelklick selektiert das Wort unter dem Mauszeiger und nichts anderes!

Es soll doch ein Windows-Programm sein, dann hält man sich auch an das normale
Verhalten des OS.
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
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: Doppelklick auf Gadget

Beitrag von Velindos »

Hallo,
das Problem stellt sich folgend dar! Ich habe das Editorgadget in meinen Minibook. Für Button habe ich keinen Platz mehr im Fenster, somit suche ich einen Weg, um das Editorgadget zu vergrössern, um eine komfortable Eingabe auf die kleine Fläche zu haben.
In meiner Accessdatenbank hatte ich den Doppelklick und war auch nicht zufrieden damit! Da es wie du schon sagtest, es dem Editorgadget eine Funktion nimmt. Momentan denke ich, dass ich noch die Daumentaste an der Maus für den Aufruf verwenden könnte, aber damit wäre ich an eine Maus mit Daumentaste gebunden.
Weiter bin ich noch nicht gekommen.
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
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

Re: Doppelklick auf Gadget

Beitrag von ts-soft »

Wie wäre es mit einem KeyboardShortcut?
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
Antworten