Wie mache ich die Scrollbars bei Flash-Components unsichtbar?

likedeeler

Grünschnabel
Wie mache ich die Scrollbars bei Flash-Components unsichtbar? (Flash MX Pro 2004)

Hi Leute,

mir schwebt in etwa folgendes vor: ein (dynamisch gefülltes) Textfeld oder eine Liste, die komplett unsichtbar ist, inklusive der Scrollbar. Nur der Text soll zu sehen sein, und zwei selbstgebastelte Scroll-Icons. Das Scrollen selbst soll komplett programmatisch über Tastendruck-Abfangen passieren.

So soll es aussehen (Photoshop):

textfeld.jpg


So sieht es aus:

textfeld_versuch.jpg


Und zwar, wenn ich diesen Actionscript-Code verwende:

PHP:
      import mx.styles.CSSStyleDeclaration;
      
      if (_global.styles.TextArea == undefined) {
      	_global.styles.TextArea = new CSSStyleDeclaration();
      }
      _global.styles.TextArea.setStyle("backgroundColor", "transparent");
      _global.styles.TextArea.setStyle("borderColor", "transparent");
      _global.styles.TextArea.setStyle("borderStyle", "none");

...(und analog mit _global.styles.List), dann verschwindet zwar alles außer dem Text, wunderbar!, aber die Scrollbar bleibt bestehen. Das gleiche mit den Styles jetzt nochmal mit UIScrollBar oder ScrollSelectList zu machen, bringt leider auch nichts.

Um meine dynamischen Datenimport in die Listen/Textfelder einfach zu halten, würde ich gern Komponenten nutzen. Es wäre doch zu dämlich, wenn man alles AUßER den Scrollbars unsichtbar machen könnte. Fällt jemandem was ein?

Greetz aus Bärlin!
 
Zuletzt bearbeitet:
Hi,

was ist denn das für eine Komponente - ScrollPane?

Die Komponenten sind nicht wirklich mein Ding (in der Referenz habe ich auch nichts gefunden, um nur die Scrollbalken abzuschalten) ; ich würde einfach ein Textfeld nehmen (da ist doch auch kein Problem dabei, dem einen Inhalt zuzuweisen) und eben meine beiden Scroll-Buttons anlegen. Wenn in dem Scrollbereich gemischte Inhalte angezeigt werden sollen: Such mal im Forum nach "Rollbalken" oder "Eigene Rollbalken", da sollte eigentlich einiges dabei sein.

Was simples gibts z.B. auch hier: -> ekto.net

Gruß
.
 
Guten Abend,
Als Beispiel :
In der Bibliothek FScrollbar Skins / Fsb Scrolltrack doppelklicken.
Ebene wählen, bearbeitbar machen. Den Scrolltrack auf der Bühne markieren.
In den Eigenschaften unter Farbe "Erweitert" auswählen.
Einstellungen anwählen und den Alpa - Wert herunterfahren auf -100 also "0"
(oder die Kurzform wählen)
Mit den anderen Elementen genau so verfahren.
Wird nicht auf der Arbeitsbühne wirksam, erst beim Testen und Veröffentlichen.
Ich denke es klappt
 
@Oldmanjo: mit MX2004? Da müsstest Du schon per Hand in die Skinnings eingreifen, soweit ich weiss. Aber die Idee ansich ist nicht schlecht; hier war doch vor kurzem mal ein Thread mit einem Link zu einem entsprechenden Tutorial...

... dennoch halte ich den Aufwand für grösser, als mal eben eine eigene Lösung zu schreiben. ;)

Gruß
.
 
Guten Morgen,
ja, per Hand. Ich hatte das damals ausprobiert als MX noch neu war.
Wenn ich allerdings derzeit vor einem solchen Problem stehe, bin ich auch
dafür auf die Komponents zu verzichten.
 
Hi Datic,

thx für die Antwort, aber mit Textfeldern sieht das ganze schlecht aus, denn sie unterstützen kein Antialiasing. Deshalb brauche ich glaube ich eine Komponente.
 
Arbeitest Du mit MX oder MX2004? Bei MX hast Du zwar keine Anti-Alias-Schrift, kannst aber die Komponenten noch direkt in der Bibliothek zerpflücken und ändern, was Du ändern willst (siehe Oldmanjos Posting). Bei MX2004 ist das wie gesagt etwas aufwendiger, aber (html-)Textfelder unterstützen selbstverständlich Anti-Aliasing!

Gruß
.
 
http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_14171

Hi Datic,

Ich zitiere aus der o.a. Seite:

"# Text Fields do not anti-alias, regardless of font. For more information on Text Fields and Type see Using type blocks and text fields in Flash (TechNote 14154).
# Text fields cannot be alpha tweened unless their font outline is included inside the Flash movie. See "Including font outlines" below for more information."

Ich hab's ausprobiert, auch mit HTML wird nicht geantialiast. Wenn man die Font Outline dazupackt, dann hat man zwar so was wie Antialiasing, aber der Font stimmt überhaupt nicht mehr.

Wie machst Du das?
 
Hi Oldmanjo,

ich glaube ich habs:

PHP:
  myTextAreaInstance.vScrollPolicy = "off";

Sieht bis jetzt so aus, als ob es klappt. Scrollen kann man anscheinend trotzdem noch, jedenfalls durch Markieren des Textes mit der Maus. Mal sehen, ob das auch programmatisch klappt.

Dafür, dass ich ungefähr drei Tage nach der Lösung gesucht habe, ist sie erstaunlich einfach, oder? Scheint aber bisher niemand zu wissen.

Gruss, likedeeler
 
Zuletzt bearbeitet:
Datic,

P.S. Ich habe jetzt festgestellt, dass der Text auch bei TextArea nicht geantialiast wird. Was ist da los? Ich finde nix im Netz... (Ich nutze ein Style Sheet für Font und Farbe.)

Gruss
 

Neue Beiträge

Zurück