Code: Alles auswählen
EnableExplicit
Procedure SetGadgetShadow(gadget, x, y, blur, size, color)
Protected styles.s
Protected id.s
Protected hexcolor.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");
! }
;RGB in Hex konvertieren
hexcolor = "#" + RSet(Hex(Red(color)), 2, "0") + RSet(Hex(Green(color)), 2, "0") + RSet(Hex(Blue(color)), 2, "0")
styles = "#" + id + " "
Select GadgetType(gadget)
Case #PB_GadgetType_Panel
styles + ".dijitTabPaneWrapper, #" + id + " .dijitTabListContainer-top .dijitTab"
Case #PB_GadgetType_TrackBar
styles = ""
styles + ".claro #" + id + " .dijitSliderImageHandle { box-shadow: none; } .dijitSliderBarContainerH, #" + id + " .dijitSliderLeftBumper, #" + id + " .dijitSliderRightBumper, #" + id + " .dijitSliderImageHandle"
EndSelect
Select GadgetType(gadget)
Case #PB_GadgetType_Frame,
#PB_GadgetType_Option,
#PB_GadgetType_CheckBox,
#PB_GadgetType_HyperLink,
#PB_GadgetType_Text
styles + " { text-shadow: " + x + "px " + y + "px " + blur + "px " + hexcolor + "; }"
Default
styles + " { box-shadow: " + x + "px " + y + "px " + blur + "px " + size + "px " + hexcolor + "; }"
EndSelect
;Styles hinzufügen
! document.getElementById("SBCustomStyles").appendChild(document.createTextNode( v_styles ));
EndProcedure
;================================================== Beispielcode ==================================================
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
TextGadget(1, 10, 10, 100, 20, "Hello World", 0)
StringGadget(2, 150, 20, 200, 20, "", 0)
ButtonGadget(3, 370, 20, 100, 20, "Button", 0)
TextGadget(4, 10, 30, 100, 40, "PureBaic with CSS is cool :-)", 0)
CheckBoxGadget(5, 10, 70, 100, 20, "Click me", 0)
ListIconGadget(6, 150, 60, 320, 200, "Column", 200, 0)
AddGadgetItem(6, -1, "Item")
TrackBarGadget(7, 150, 320, 320, 20, 0, 100, 0)
SetGadgetShadow(1, 0, 0, 10, 0, RGB(0, 255, 0))
SetGadgetShadow(2, 0, 0, 10, 0, RGB(100, 100, 100))
SetGadgetShadow(3, 0, 0, 10, 0, RGB(100, 100, 100))
SetGadgetShadow(4, 0, 0, 5, 20, RGB(0, 0, 255))
SetGadgetShadow(5, 0, 0, 10, 20, RGB(255, 255, 0))
SetGadgetShadow(6, 0, 0, 10, 0, RGB(100, 100, 100))
SetGadgetShadow(7, 0, 0, 10, 0, RGB(100, 100, 100))
EndIf