Seite 1 von 2
Doppelklick auf Gadget
Verfasst: 30.12.2010 09:10
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
Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 10:11
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

Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 11:39
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
Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 13:44
von c4s
Ein
bisschen Eigeninitiative ist auch gefragt. Mal bei StringGadget() vorbeischauen...

Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 14:04
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.
Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 14:10
von ts-soft
@Andesdaf
Jetzt wird aber das Wort unter dem Mauszeiger nicht mehr selektiert
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

Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 16:50
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
Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 17:12
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
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.
Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 17:23
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
Re: Doppelklick auf Gadget
Verfasst: 30.12.2010 17:30
von ts-soft
Wie wäre es mit einem KeyboardShortcut?