DialogXML und #SS_NOTIFY
-
- Beiträge: 8
- Registriert: 16.03.2013 19:44
DialogXML und #SS_NOTIFY
Hallo Zusammen,
Ich verwende gerne auf TextGadgets das #SS_NOTIFY Flag,
da man somit ein TextGaget 'Klickbar' bzw. somit ein Event auslösen kann.
Nun Benutze ich seit geraumer Zeit für meine Projekte die DialogXML
und hier scheint es, als würden nur PureBasic eigene Konstanten als Flag erlaubt.
Ist es irgendwie möglich, das z.B. ein Doppelklick auf ein TextGadget das mit DialogXML
erstellt wurde ein Event auszulösen?
Für einen Tipp währe ich dankbar!
Ich verwende gerne auf TextGadgets das #SS_NOTIFY Flag,
da man somit ein TextGaget 'Klickbar' bzw. somit ein Event auslösen kann.
Nun Benutze ich seit geraumer Zeit für meine Projekte die DialogXML
und hier scheint es, als würden nur PureBasic eigene Konstanten als Flag erlaubt.
Ist es irgendwie möglich, das z.B. ein Doppelklick auf ein TextGadget das mit DialogXML
erstellt wurde ein Event auszulösen?
Für einen Tipp währe ich dankbar!
PureBasic 5.60
Re: DialogXML und #SS_NOTIFY
Ohne getestet zu haben, kannst du mal folgendes ausprobieren:
Wird #PB_Text_Notify ebenfalls ignoriert?
Code: Alles auswählen
#PB_Text_Notify = #SS_NOTIFY
-
- Beiträge: 8
- Registriert: 16.03.2013 19:44
Re: DialogXML und #SS_NOTIFY
Also #SS_NOTIFY verhinderte das OpenXMLDialog überhaupt öffnete, was mit #PB_Text_Notify nun funktioniert.RSBasic hat geschrieben:Ohne getestet zu haben, kannst du mal folgendes ausprobieren:Wird #PB_Text_Notify ebenfalls ignoriert?Code: Alles auswählen
#PB_Text_Notify = #SS_NOTIFY
Allerdings löse ich damit kein Event aus, wenn ich auf das TextGadget klicke.
Ich verwende wie bei anderen Gadgets, BindGadgetEvent auf das TextGadget, jedoch wird wie beschrieben kein Event ausgelöst.
PureBasic 5.60
Re: DialogXML und #SS_NOTIFY
ich bekomme immer einen Dialog-Error (<text text='Text' flags='#PB_Text_Notify' />)Biozynotiker hat geschrieben:Also #SS_NOTIFY verhinderte das OpenXMLDialog überhaupt öffnete, was mit #PB_Text_Notify nun funktioniert.
Dialog error: '#PB_Text_Notify' flag is not supported for the following gadget: text
Hätte mich auch gewundert, wenn das funktioniert hätte. Soweit ich weiß akzeptiert die Dialog-Lib
nur bestimmte (und teils nicht mal alle normal vorgesehenen) PB-Flags.
Win11 x64 | PB 6.00 (x64)
Re: DialogXML und #SS_NOTIFY
zu faul eine kleine Demo zu schreiben, aber hast du die Konstante mal in mittels Runtime definiert?
dann könnte es gehen.
Code: Alles auswählen
#myflag=#ss_NOTIFY
runtime #myflag
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Re: DialogXML und #SS_NOTIFY
Hab ich schon probiert, funktioniert auch dann nicht.
Win11 x64 | PB 6.00 (x64)
Re: DialogXML und #SS_NOTIFY
Und wenn man #SS_NOTIFY nachträglich hinzufügt?
Code: Alles auswählen
EnableExplicit
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(1, 10, 10, 480, 20, "Text Text Text Text Text Text Text Text Text Text", 0)
SetWindowLongPtr_(GadgetID(1), #GWL_STYLE, GetWindowLongPtr_(GadgetID(1), #GWL_STYLE) | #SS_NOTIFY)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Debug "Klick"
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Re: DialogXML und #SS_NOTIFY
ja, das funktioniert:RSBasic hat geschrieben:Und wenn man #SS_NOTIFY nachträglich hinzufügt?
Code: Alles auswählen
#Dialog = 0
#Xml = 0
Runtime Enumeration
#myText
EndEnumeration
Runtime Procedure myTextEvent()
Debug "clicked!"
EndProcedure
XML$ = "<window id='#PB_Any' name='test' text='test' minwidth='100' minheight='100' flags='#PB_Window_ScreenCentered | #PB_Window_SystemMenu'>" +
" <text id='#myText' text='Click me!' onevent='myTextEvent()' />" +
"</window>"
If ParseXML(#Xml, XML$) And XMLStatus(#Xml) = #PB_XML_Success
If CreateDialog(#Dialog) And OpenXMLDialog(#Dialog, #Xml, "test")
SetWindowLongPtr_(GadgetID(#myText), #GWL_STYLE, GetWindowLongPtr_(GadgetID(#myText), #GWL_STYLE) | #SS_NOTIFY)
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Else
Debug "Dialog error: " + DialogError(#Dialog)
EndIf
Else
Debug "XML error: " + XMLError(#Xml) + " (Line: " + XMLErrorLine(#Xml) + ")"
EndIf
Hygge
-
- Beiträge: 8
- Registriert: 16.03.2013 19:44
Re: DialogXML und #SS_NOTIFY
Ja, nachträglich #SS_NOTIFY hinzufügen funktioniert!
Danke für den Tipp/Code.
Danke für den Tipp/Code.
PureBasic 5.60