Seite 8 von 9
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 23.10.2018 09:36
von RSBasic
Mit dieser Funktion kann man Gadgets in ein anderes Fenster verschieben:
Code: Alles auswählen
EnableExplicit
Procedure MoveGadget(gadget, target_windowid)
! var GadgetElement = $(spider_GadgetID(v_gadget).div);
! GadgetElement.appendTo(v_target_windowid.content);
EndProcedure
;================================================== Beispielcode ==================================================
Procedure GadgetEvent()
Select EventGadget()
Case 2
MoveGadget(1, WindowID(1))
Case 3
MoveGadget(1, WindowID(0))
EndSelect
EndProcedure
If OpenWindow(0, 100, 100, 300, 200, "Window 1")
ButtonGadget(1, 10, 10, 100, 20, "Button 007", 0)
ButtonGadget(2, 120, 10, 150, 20, "Move button 007 >>", 0)
ButtonGadget(3, 120, 40, 150, 20, "<< Move button 007", 0)
BindEvent(#PB_Event_Gadget, @GadgetEvent())
EndIf
If OpenWindow(1, 500, 100, 300, 200, "Window 2")
EndIf
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 23.10.2018 10:27
von RSBasic
Browser-Name ermitteln:
Code: Alles auswählen
EnableExplicit
Procedure.s GetBrowserName()
! return platform.name;
EndProcedure
;================================================== Beispielcode ==================================================
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
Debug GetBrowserName()
EndIf
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 23.10.2018 10:28
von RSBasic
Browser-Version ermitteln:
Code: Alles auswählen
EnableExplicit
Procedure.s GetBrowserVersion()
! return platform.version;
EndProcedure
;================================================== Beispielcode ==================================================
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
Debug GetBrowserVersion()
EndIf
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 23.10.2018 10:28
von RSBasic
Browser-Engine ermitteln:
Code: Alles auswählen
EnableExplicit
Procedure.s GetBrowserEngine()
! return platform.layout;
EndProcedure
;================================================== Beispielcode ==================================================
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
Debug GetBrowserEngine()
EndIf
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 23.10.2018 11:17
von RSBasic
Mit dieser Funktion kann man eine interne oder externe Seite in einem Popup-Fenster aufrufen:
Code: Alles auswählen
EnableExplicit
Procedure OpenDialog(url.s, x, y, width, height, showtoolbar, showscrollbars)
Protected specs.s
If x <> #PB_Ignore
specs + "left=" + x + ","
EndIf
If y <> #PB_Ignore
specs + "top=" + y + ","
EndIf
specs + "width=" + width + ",height=" + height + ",toolbar=" + showtoolbar + ",scrollbars=" + showscrollbars
! window.open(v_url, "", v_specs);
EndProcedure
Procedure.s GetSiteURL()
! return window.location;
EndProcedure
;================================================== Beispielcode ==================================================
Procedure GadgetEvent()
Select EventGadget()
Case 1
;OpenDialog("http://www.google.de", #PB_Ignore, #PB_Ignore, 500, 400, 0, 1)
OpenDialog(GetSiteURL(), #PB_Ignore, #PB_Ignore, 500, 400, 0, 1)
EndSelect
EndProcedure
If OpenWindow(0, 0, 0, 400, 300, "Window", #PB_Window_ScreenCentered)
ButtonGadget(1, 10, 10, 200, 20, "Open site in dialog", 0)
BindEvent(#PB_Event_Gadget, @GadgetEvent())
EndIf
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 25.10.2018 09:32
von RSBasic
Die Möglichkeit, einen Placeholder-Text hinzuzufügen, besteht nur beim StringGadget, aber nicht beim EditorGadget und andere Input-Gadgets. Jetzt es ist auch beim EditorGadget, SpinGadget, DateGadget und ComboBoxGadget möglich. Außerdem kann man den Placeholder-Text auch jederzeit wieder ändern:
Code: Alles auswählen
EnableExplicit
Procedure SetGadgetPlaceHolder(gadget, text.s)
! var GadgetElement = $(spider_GadgetID(v_gadget).div);
Select GadgetType(gadget)
Case #PB_GadgetType_String, #PB_GadgetType_Spin, #PB_GadgetType_Date, #PB_GadgetType_ComboBox
! GadgetElement.find("input").attr("placeholder", v_text);
Case #PB_GadgetType_Editor
! GadgetElement.find("textarea").attr("placeholder", v_text);
EndSelect
EndProcedure
;================================================== Beispielcode ==================================================
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
StringGadget(1, 10, 10, 200, 20, "", 0)
EditorGadget(2, 10, 40, 200, 200, 0)
SpinGadget(3, 10, 250, 90, 20, 0, 100, 0)
ComboBoxGadget(4, 110, 250, 100, 20, #PB_ComboBox_Editable)
SetGadgetPlaceHolder(1, "Hello")
SetGadgetPlaceHolder(2, "Hola")
SetGadgetPlaceHolder(3, "Hallo")
SetGadgetPlaceHolder(4, "Hallo")
EndIf
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 06.02.2019 15:27
von dige
Danke RSBasic, für deine Erweiterungen. Habe ich schon öfters gebrauchen können.
Da ich eben noch für ein TextGadget (), das ich zur Anzeige von Html verwende, den Scrollbalken aktivieren musste,
hier eine Adaption:
Code: Alles auswählen
Procedure Gadget_Enable_AutoScroll (gadget)
Protected styles.s
Protected id.s
;Falls nicht existiert, dann <style type="text/css" id="SBCustomStyles"></style> im Head erstellen, ohne Inline-Styles verwenden zu müssen
! if (!document.getElementById('SBCustomStyles')) {
! var StyleElement = document.createElement('style');
! StyleElement.type = 'text/css';
! StyleElement.id = 'SBCustomStyles';
! var HeadElement = document.getElementsByTagName('head')[0];
! HeadElement.appendChild(StyleElement);
! }
;Falls nicht existiert, dann eine ID im Hauptelement erstellen, um später per CSS besser darauf zugreifen zu können
! var GadgetElement = $(spider_GadgetID(v_gadget).div);
! if (GadgetElement.attr("id")) {
! v_id = GadgetElement.attr("id");
! } else {
! GadgetElement.attr("id", "SB_Gadget_" + v_gadget);
! v_id = GadgetElement.attr("id");
! }
styles = "#" + id + " { overflow: auto; }"
;Styles hinzufügen
! document.getElementById("SBCustomStyles").appendChild(document.createTextNode( v_styles ));
EndProcedure
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 06.02.2019 15:55
von NicTheQuick
RSBasic hat geschrieben:@NicTheQuick
Bekomme ich Geld für die Werbung?
Gerade erst gesehen, weil ich normalerweise nichts zu Spiderbasic lese.
Ich kann dir leider nichts anbieten.
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 07.02.2019 10:28
von stevie1401
dige, ich habe deine Procedure eben getestst. Da scrollt aber nichts automatisch runter.
Oder habe ich da was falsch verstanden?
Wie muss die Procedure eingesetzt werden?
Nachdem ich einem Textgadget einen Text hinzugefügt gabe, muss ich zudem:
Code: Alles auswählen
!$(v_chatid.div).animate({scrollTop: $(v_chatid.div).prop("scrollHeight")}, 0);
machen, sonst wird nicht gescrollt.
Re: SpiderBasic Library - Liste neuer Funktionen
Verfasst: 07.02.2019 10:52
von dige
@Stevie1401: es werden nur die Scrollbalken aktiviert, damit der Nutzer scrollen kann. Im Prinzip wird nur der Style "overflow: auto;" hinzugefügt.