Aktuelle Zeit: 26.06.2019 04:32

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 81 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7 ... 9  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 16.10.2018 10:19 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Es gibt in SpiderBasic kein MessageRequester(). Jetzt aber schon.

Requester > Nachrichten-Dialog erstellen
Code:
EnableExplicit

#SB_MessageRequester_Ok = 1
#SB_MessageRequester_Cancel = 2
#SB_MessageRequester_OkCancel = 3

Procedure MessageRequester(text.s, flags = #SB_MessageRequester_Ok)
  Protected sb_messagerequester_ok = #SB_MessageRequester_Ok
  Protected sb_messagerequester_cancel = #SB_MessageRequester_Cancel
 
  Select flags
    Case #SB_MessageRequester_Ok
      ! alert(v_text);
    Case #SB_MessageRequester_OkCancel
      ! var returnvalue = confirm(v_text);
      ! if (returnvalue == true) {
      !   return v_sb_messagerequester_ok;
      ! } else {
      !   return v_sb_messagerequester_cancel;
      ! }
  EndSelect
 
EndProcedure

;================================================== Beispielcode ==================================================

Define Result

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
 
  MessageRequester("Hallo Freunde")
  Result = MessageRequester("Hallo Freunde?", #SB_MessageRequester_OkCancel)
  If Result = #SB_MessageRequester_Ok
    Debug "Ok"
  ElseIf Result = #SB_MessageRequester_Cancel
    Debug "Cancel"
  EndIf
 
EndIf

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 16.10.2018 10:20 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Es gibt in SpiderBasic kein InputRequester(). Jetzt aber schon.

Requester > Eingabe-Dialog erstellen
Code:
EnableExplicit

Procedure.s InputRequester(message.s, standardtext.s)
  ! var returnvalue = prompt(v_message, v_standardtext);
  ! if (returnvalue) {
  !   return returnvalue;
  ! } else {
  !   return "";
  ! }
 
EndProcedure

;================================================== Beispielcode ==================================================

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
 
  Debug InputRequester("Hallo Freunde", "Standardtext")
 
EndIf

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 16.10.2018 10:39 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
dige hat geschrieben:
Edit: Hast du noch eine Idee, wie man den Text, der bspw. in einem TextGadget angezeigt wird, auswählbar machen kann (zum kopieren usw.)?

Code:
! $(".spiderwindow").removeClass("sbNoSelect");

... gilt dann allerdings für alle Gadgets innerhalb aller Fenster.

Grüße ... Peter

_________________
"A user interface is like a joke. If you have to explain it, it’s not that good." (Martin Leblanc)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 16.10.2018 10:42 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Kiffi war schneller. Ich kann ja gerne eine Funktion bauen, damit man es je Gadget einstellen kann.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 16.10.2018 10:57 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Gadget > TextGadget > Textmarkierung aktivieren oder deaktivieren
Gadget > ContainerGadget > Textmarkierung für alle Unter-Gadgets aktivieren oder deaktivieren
Gadget > FrameGadget > Textmarkierung aktivieren oder deaktivieren
Gadget > OptionGadget > Textmarkierung aktivieren oder deaktivieren
Gadget > CheckBoxGadget > Textmarkierung aktivieren oder deaktivieren
Gadget > HyperLinkGadget > Textmarkierung aktivieren oder deaktivieren
Gadget > ScrollAreaGadget > Textmarkierung für alle Unter-Gadgets aktivieren oder deaktivieren
Gadget > WebGadget > Textmarkierung aktivieren oder deaktivieren
Code:
EnableExplicit

Procedure DisableGadgetTextSelection(gadget, state)
  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");
  ! }
 
  If state
    styles = "#" + id + " { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }"
  Else
    styles = "#" + id + " { -webkit-touch-callout: text; -webkit-user-select: text; -khtml-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; }"
  EndIf
 
  ;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)
 
  DisableGadgetTextSelection(1, 0)
 
EndIf

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 16.10.2018 14:07 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
In SpiderBasic kann man keine StatusBar erstellen. Jetzt schon (CreateStatusBar(), AddStatusBarField(), StatusBarText(), FreeStatusBar(), IsStatusBar(), StatusBarHeight(), StatusBarID()):

StatusBar > StatusBar erstellen
Code:
EnableExplicit

#SB_StatusBar_BorderLess = 1
#SB_StatusBar_Center = 2
#SB_StatusBar_Right = 4

Procedure CreateStatusBar(windowid)
  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 CSS-Klassen mit den Styles erstellen
  ! if ($('#SBCustomStyles')[0].innerHTML.indexOf('.spiderwindow-statusbar') == -1) {
  !   document.getElementById("SBCustomStyles").appendChild(document.createTextNode( ".spiderwindow-statusbar { position: absolute; height: 22px; bottom: 0; width: 100%; border-top: 1px solid #D7D7D7; line-height: 22px; }" ));
  !   document.getElementById("SBCustomStyles").appendChild(document.createTextNode( ".spiderwindow-statusbar .StatusBarField { display: inline-block; padding: 0 5px; border-right: 1px solid #D7D7D7; }" ));
  !   document.getElementById("SBCustomStyles").appendChild(document.createTextNode( ".spiderwindow-statusbar .StatusBarField:last-child { border: none; }" ));
  ! }
 
  ! $(v_windowid.statusBar).addClass("spiderwindow-statusbar");
  ! return 1;
 
EndProcedure

Procedure AddStatusBarField(windowid, width)
  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);
  ! }
 
  ! var StatusBarField = document.createElement('div');
  ! StatusBarField.className = 'StatusBarField StatusBarField' + $(v_windowid.statusBar).children().length;
  ! StatusBarField.style.cssText = 'width: ' + v_width + 'px';
 
  ! $(v_windowid.statusBar).append(StatusBarField);
  ! return 1;
 
EndProcedure

Procedure StatusBarText(windowid, field, text.s, flags = 0)
  Protected styles.s
  Protected id.s
  Protected sb_statusbar_borderless = #SB_StatusBar_BorderLess
  Protected sb_statusbar_center = #SB_StatusBar_Center
  Protected sb_statusbar_right = #SB_StatusBar_Right

  ;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);
  ! }
 
  ! if ((v_flags & v_sb_statusbar_borderless) == v_sb_statusbar_borderless) {
  !   $($(v_windowid.statusBar).find(".StatusBarField" + v_field)[0]).css("border", "none");
  ! }
  ! if ((v_flags & v_sb_statusbar_center) == v_sb_statusbar_center) {
  !   $($(v_windowid.statusBar).find(".StatusBarField" + v_field)[0]).css("text-align", "center");
  ! }
  ! if ((v_flags & v_sb_statusbar_right) == v_sb_statusbar_right) {
  !   $($(v_windowid.statusBar).find(".StatusBarField" + v_field)[0]).css("text-align", "right");
  ! }
 
  ! $(v_windowid.statusBar).find(".StatusBarField" + v_field)[0].innerHTML = v_text;
  ! return 1;
 
EndProcedure

Procedure FreeStatusBar(windowid)
  ! $(v_windowid.statusBar).children().remove();
  ! $(v_windowid.statusBar).removeAttr("class");
  ! return 1;
 
EndProcedure

Procedure IsStatusBar(windowid)
  ! if ($(v_windowid.statusBar).hasClass("spiderwindow-statusbar")) {;
  !   return 1;
  ! } else {
  !   return 0;
  ! }
 
EndProcedure

Procedure StatusBarHeight(windowid)
  ! return $(v_windowid.statusBar).height();
 
EndProcedure

Procedure StatusBarID(windowid)
  ! if ($(v_windowid.statusBar).hasClass("spiderwindow-statusbar")) {;
  !   return v_windowid.statusBar;
  ! } else {
  !   return 0;
  ! }
 
EndProcedure

;================================================== Beispielcode ==================================================

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget)
  If CreateMenu(1, WindowID(0))
    MenuTitle("File")
    MenuItem(1, "Hello")
    MenuTitle("Edit")
    MenuItem(2, "Hello")
  EndIf
 
  TextGadget(1, 10, 10, 480, 20, "This window now has a status bar. See below :-)", 0)
 
  If CreateStatusBar(WindowID(0))
    AddStatusBarField(WindowID(0), 100)
    AddStatusBarField(WindowID(0), 100)
    AddStatusBarField(WindowID(0), 100)
    AddStatusBarField(WindowID(0), 100)
   
    StatusBarText(WindowID(0), 0, "Hello")
    StatusBarText(WindowID(0), 1, "PureBasic", #SB_StatusBar_Center)
    StatusBarText(WindowID(0), 2, "Friends", #SB_StatusBar_Right)
    StatusBarText(WindowID(0), 3, ":-)")
   
  EndIf
 
EndIf

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 16.10.2018 14:16 
Offline

Registriert: 18.08.2017 09:35
1. TOP, danke!!!
2. Du hast wieder einen Lauf!
3. Warum arbeitest du nicht im SpiderBasic Team, dann würde die Entwicklung von SpiderBasic viiiiiiiiiel schneller gehen.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 16.10.2018 22:26 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
In SpiderBasic gibt es kein ShortcutGadget. Jetzt schon:

ShortcutGadget > ShortcutGadget erstellen
Code:
EnableExplicit

Procedure ShortcutGadget(gadget, x, y, width, height)
  Protected id.s
 
  StringGadget(gadget, x, y, width, height, "", #PB_String_ReadOnly)
 
  ;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");
  ! }
 
  ! var dijitInputInner = GadgetElement.find(".dijitInputInner");
  ! var IsPressing_Control = false;
  ! var IsPressing_Shift = false;
  ! var IsPressing_Alt = false;
  ! var IsPressing_NormalKey = false;
  ! dijitInputInner.keydown(function(e) {
  !   var CurrentKey = e.key.toUpperCase();
  !   if (!IsPressing_Control && !IsPressing_Shift && !IsPressing_Alt && !IsPressing_NormalKey) {
  !     dijitInputInner.val("");
  !   }
  !   switch (CurrentKey) {
  !     case 'CONTROL':
  !       if (!IsPressing_Control) {
  !         dijitInputInner.val(dijitInputInner.val() + CurrentKey + " + ");
  !       }
  !       IsPressing_Control = true;
  !       break;
  !     case 'SHIFT':
  !       if (!IsPressing_Shift) {
  !         dijitInputInner.val(dijitInputInner.val() + CurrentKey + " + ");
  !       }
  !       IsPressing_Shift = true;
  !       break;
  !     case 'ALT':
  !       if (!IsPressing_Alt) {
  !         dijitInputInner.val(dijitInputInner.val() + CurrentKey + " + ");
  !       }
  !       IsPressing_Alt = true;
  !       break;
  !     default:
  !       IsPressing_NormalKey = true;
  !       if (!IsPressing_Control && !IsPressing_Shift && !IsPressing_Alt) {
  !         dijitInputInner.val(CurrentKey);
  !       } else { 
  !         dijitInputInner.val(dijitInputInner.val() + CurrentKey);
  !       }
  !   };
  ! });
  ! dijitInputInner.keyup(function(e) {
  !   var CurrentKey = e.key.toUpperCase();
  !   if (!IsPressing_NormalKey && (IsPressing_Control || IsPressing_Shift || IsPressing_Alt)) {
  !     dijitInputInner.val("");
  !   }
  !   IsPressing_Control = false;
  !   IsPressing_Shift = false;
  !   IsPressing_Alt = false;
  !   IsPressing_NormalKey = false;
  ! });
 
EndProcedure


;================================================== Beispielcode ==================================================

Procedure GadgetEvent()
  Select EventGadget()
    Case 2
      Debug GetGadgetText(1)
  EndSelect
 
EndProcedure

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
  ShortcutGadget(1, 10, 10, 200, 20)
  ButtonGadget(2, 220, 10, 100, 20, "Get pressed key", 0)
 
  BindEvent(#PB_Event_Gadget, @GadgetEvent())
 
EndIf

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 17.10.2018 19:04 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Die Funktion Gadget in 3D drehen habe ich erweitert. Man kann nun auch optional ein Objekt perspektivisch drehen.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SpiderBasic Library - Liste neuer Funktionen
BeitragVerfasst: 18.10.2018 12:07 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
In SpiderBasic gibt es kein ScrollBarGadget. Jetzt schon:

ScrollBarGadget > ScrollBarGadget erstellen
Code:
EnableExplicit

Procedure ScrollBarGadgetEx(windowid, gadget, x, y, width, height, max, flags)
  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);
  ! }
 
  ! var ScrollBarGadget = document.createElement('div');
  ! ScrollBarGadget.id = "SB_Gadget_" + v_gadget;
  If flags = #PB_ScrollBar_Vertical
    ! ScrollBarGadget.className = "SB_ScrollBarGadget SB_ScrollBarGadget_Vertical";
    ! ScrollBarGadget.style.cssText = "left: " + v_x + "px; top: " + v_y + "px; width: auto; height: " + v_height + "px; overflow-y: scroll;";
  Else
    ! ScrollBarGadget.className = "SB_ScrollBarGadget SB_ScrollBarGadget_Horizontal";
    ! ScrollBarGadget.style.cssText = "left: " + v_x + "px; top: " + v_y + "px; width: " + v_width + "px; height: auto; overflow-x: scroll;";
  EndIf
  ! v_windowid.content.appendChild(ScrollBarGadget);
 
  ! var ScrollBarGadget_Inner = document.createElement('div');
  ! ScrollBarGadget_Inner.className = "SB_ScrollBarGadget_Inner";
  If flags = #PB_ScrollBar_Vertical
    ! ScrollBarGadget_Inner.style.cssText = "width: 1px; height: " + v_max + "px;";
  Else
    ! ScrollBarGadget_Inner.style.cssText = "width: " + v_max + "px; height: 1px;";
  EndIf
  ! ScrollBarGadget.appendChild(ScrollBarGadget_Inner);
 
  styles = ".SB_ScrollBarGadget { position: absolute; } .SB_ScrollBarGadget_Inner {} .SB_ScrollBarGadget_Vertical {} .SB_ScrollBarGadget_Horizontal {}"
 
  ;Styles hinzufügen
  ! document.getElementById("SBCustomStyles").appendChild(document.createTextNode( v_styles ));
 
EndProcedure

Macro ScrollBarGadget(windowid, gadget, x, y, width, height, max, flags = 0)
  ScrollBarGadgetEx(windowid, gadget, x, y, width, height, max, flags)
EndMacro

Procedure GetGadgetStateEx(gadget)
  Protected isownscrollbargadget.s
 
  ! var GadgetElement = $("#SB_Gadget_" + v_gadget);
  ! v_isownscrollbargadget = GadgetElement.hasClass("SB_ScrollBarGadget");
  ! var IsVertical = GadgetElement.hasClass("SB_ScrollBarGadget_Vertical");
  If isownscrollbargadget <> ""
    ! if (IsVertical) {;
    !   return GadgetElement.scrollTop();
    ! } else {;
    !   return GadgetElement.scrollLeft();
    ! };
  Else
    ProcedureReturn GetGadgetState(gadget)
  EndIf
 
EndProcedure

Macro GetGadgetState(gadget)
  GetGadgetStateEx(gadget)
EndMacro

Procedure SetGadgetStateEx(gadget, state)
  Protected isownscrollbargadget.s
 
  ! var GadgetElement = $("#SB_Gadget_" + v_gadget);
  ! v_isownscrollbargadget = GadgetElement.hasClass("SB_ScrollBarGadget");
  ! var IsVertical = GadgetElement.hasClass("SB_ScrollBarGadget_Vertical");
  If isownscrollbargadget <> ""
    ! if (IsVertical) {;
    !   GadgetElement.scrollTop(v_state);
    ! } else {;
    !   GadgetElement.scrollLeft(v_state);
    ! };
  Else
    SetGadgetState(gadget, state)
  EndIf
 
EndProcedure

Macro SetGadgetState(gadget, state)
  SetGadgetStateEx(gadget, state)
EndMacro

Procedure GetGadgetAttributeEx(gadget, attribute)
  Protected isownscrollbargadget.s
 
  ! var GadgetElement = $("#SB_Gadget_" + v_gadget);
  ! v_isownscrollbargadget = GadgetElement.hasClass("SB_ScrollBarGadget");
  ! var IsVertical = GadgetElement.hasClass("SB_ScrollBarGadget_Vertical");
  If isownscrollbargadget <> ""
    ! if (IsVertical) {;
    !   return GadgetElement.find(".SB_ScrollBarGadget_Inner").height();
    ! } else {;
    !   return GadgetElement.find(".SB_ScrollBarGadget_Inner").width();
    ! };
  Else
    ProcedureReturn GetGadgetAttribute(gadget, attribute)
  EndIf
 
EndProcedure

Macro GetGadgetAttribute(gadget, attribute)
  GetGadgetAttributeEx(gadget, attribute)
EndMacro

Procedure SetGadgetAttributeEx(gadget, attribute, value)
  Protected isownscrollbargadget.s
 
  ! var GadgetElement = $("#SB_Gadget_" + v_gadget);
  ! v_isownscrollbargadget = GadgetElement.hasClass("SB_ScrollBarGadget");
  ! var IsVertical = GadgetElement.hasClass("SB_ScrollBarGadget_Vertical");
  If isownscrollbargadget <> ""
    ! if (IsVertical) {;
    !   GadgetElement.find(".SB_ScrollBarGadget_Inner").height(v_value);
    ! } else {;
    !   GadgetElement.find(".SB_ScrollBarGadget_Inner").width(v_value);
    ! };
  Else
    SetGadgetAttribute(gadget, attribute, value)
  EndIf
 
EndProcedure

Macro SetGadgetAttribute(gadget, attribute, value)
  SetGadgetAttributeEx(gadget, attribute, value)
EndMacro

;================================================== Beispielcode ==================================================

Procedure TimerEvents()
  Select EventTimer()
    Case 1
      SetGadgetText(3, "ScrollBarGadget1-Scrollposition: " + Str(GetGadgetState(1)))
      SetGadgetText(4, "ScrollBarGadget2-Scrollposition: " + Str(GetGadgetState(2)))
     
  EndSelect
EndProcedure

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
  ScrollBarGadget(WindowID(0), 1, 10, 10, 480, 0, 500)
  ScrollBarGadget(WindowID(0), 2, 10, 40, 0, 300, 2000, #PB_ScrollBar_Vertical)
  TextGadget(3, 50, 50, 400, 20, "", 0)
  TextGadget(4, 50, 80, 400, 20, "", 0)
 
 
  SetGadgetAttribute(1, #PB_ScrollBar_Maximum, 1000)
  Debug GetGadgetAttribute(1, #PB_ScrollBar_Maximum)
  SetGadgetState(1, 100)
  SetGadgetState(2, 500)
 
  AddWindowTimer(0, 1, 100)
  BindEvent(#PB_Event_Timer, @TimerEvents())
 
EndIf

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 81 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7 ... 9  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye