German fglabel, wie mehrere Label Transparent machen ?

Paulsche

Well-Known Member
Licensed User
Longtime User
Hi ,

ich steh aufm Schlauch, oer Blicks grad nicht.

Im Beispiel steht: fgLab .New1("Label1")

Anstatt Label1 schreibe ich ja mein eingenes Label rein,
ok, das funktioniert.

Ich möchte aber alle Labels einer Form Transparent machen,
wie mache ich das dann, muss ich für jedes Label ein eigenes Objekt
erstellen ?
 
D

Deleted member 103

Guest
Hallo Paulsche,

Ich möchte aber alle Labels einer Form Transparent machen,
wie mache ich das dann, muss ich für jedes Label ein eigenes Objekt
erstellen ?
Ja!

oder in eine For-Schleife:

Controls() = GetControls("")
For i = 0 To ArrayLen(Controls())-1
Case "Label"
addobject(Controls(i) & "new",fgControls)
Control(Controls(i)& "new").new1(Controls(i))
End Select
Next

ACHTUNG! nicht getestet.


Ciao,
Filippo
 

Paulsche

Well-Known Member
Licensed User
Longtime User
Hm, danke Filippo,

ich würde halt gerne für mein Programm ein Hindergrundbild benutzen und müsste dazu alle Labels Transparent machen, da müsste ich also für alle Labels parallel ein Objekt anlegen.
Werds mal versuchen, ob es evtl. probleme mit der Performens gibt.
 

klaus

Expert
Licensed User
Longtime User
Hallo Filippo,

In Deinem Vorschlag fehlt eine Zeile !
Es müsste doch so aussehen.
B4X:
Controls() = GetControls("")
For i = 0 To ArrayLen(Controls())-1
  [COLOR=red]Select ControlType(Controls(i))[/COLOR]
  Case "Label"
    addobject(Controls(i) & "new",fgControls)
    Control(Controls(i)& "new").new1(Controls(i))
  End Select
Next

Beste Grüsse.
 

Paulsche

Well-Known Member
Licensed User
Longtime User
Schade, die Funktion ist Prima, aber wenn ich damit
meine 20 Labels Transparent mache, sieht man bei jeder Rückkehr
zu dieser Form, wie die Funktion jedes Label bearbeitet und sich erneut aufbaut.

Muss ich wohl doch auf ein Hintegrundbild verzichten.

So eine Funktion in B4PPC wäre auf jedenfall für die nächste Version
ein sehr brauchbares Feature, vielleicht bekommt Erel das hin,
dann lässt sich ein Programm halt erst optisch schön aufbereiten,
z.B. ein Hintegrundbild mit Farbverlauf.
 

klaus

Expert
Licensed User
Longtime User
Hallo Paulsche,

Es gibt eine andere Lösung, mit der ImageLibEx direkt auf den Bildschirm zu schreiben. Es ist etwas umständlicher aber es funktioniert.

Beiliegend ein Beispiel.

Beste Grüsse.
 

Attachments

  • Background.zip
    12.4 KB · Views: 254
Last edited:

Paulsche

Well-Known Member
Licensed User
Longtime User
Danke Klaus, werd mal mir Drawstring bisschen spielen, ob es nicht zu kompliziert wird, da man hier ja mit Pixelkoordianten arbeitet.
 

Paulsche

Well-Known Member
Licensed User
Longtime User
Hi Klaus,

ich habe jetzt meine ganzen Labels + Textboxen in meiner form gelöscht und durch
Variablen ersetzt, die ich mit Drawstring zeichnen lasse,

und bin begeistert !

Funktioniert super, und der Bildschirm wird auch sehr viel schneller aufgebaut,
warscheinlich benötigen die Labels mehr Rechenleistung.

Danke nochmals für Dein Beispiel.
 
D

Deleted member 103

Guest
Funktioniert super, und der Bildschirm wird auch sehr viel schneller aufgebaut,
warscheinlich benötigen die Labels mehr Rechenleistung.

schade das es nicht so funktioniert wie ich mir gedacht hatte.:(
Ich habe jetzt selber mir viele Labels probiert und es ist wirklich so das die Anzeige langsam ist.
 
Top