Newsgroup: it.comp.lang.delphi
Titolo: Sfumare componenti

Buonasera,
Ho il problema di dover sfumare la caption di un componente Tlabel in un tot
di secondi.
Come potrei ottenere questo effetto?
Grazie

 un tot di secondi.
Cosa intendi per "sfumare"? Vuoi dire che la scritta da nero deve diventare
clBtnFace (del colore della form)?
--
Jax
====
Nessuno è più superstizioso degli scettici. (Trotskij)

 ha scritto nel messaggio
news:oLS7c.282$l27...@news.edisontel.com...

Esattamente, dovrei in pratica cambiare di colore fino a farlo diventare
clButtonFace. Ti chiedo scusa se sono stato poco preciso ma il fatto è che
uppongo che ci sia una proprietà tipo l'opacity di VS.Net.
Grazie

 VS.Net.
Non conosco 
vs.net
, però questo codice funziona.
Prova a mettere una StaticText e un Timer (interval=50 o meno) su una form
vuota, e:
const
 iSteps: Byte = 50;
var
 i: Extended = 0;
function GetColorBetween(StartColor, EndColor: TColor; Pointvalue,
Von, Bis : Extended): TColor;
var F: Extended; r1, r2, r3, g1, g2, g3, b1, b2, b3: Byte;
  function CalcColorBytes(fb1, fb2: Byte): Byte;
  begin
    result := fb1;
    if fb1 < fb2 then Result := FB1 + Trunc(F * (fb2 - fb1));
    if fb1 > fb2 then Result := FB1 - Trunc(F * (fb1 - fb2));
  end;
begin
 StartColor := TColor(ColorToRGB(StartColor));
 EndColor := TColor(ColorToRGB(EndColor));
  if Pointvalue <= Von then begin
    result := StartColor;
    exit;
  end;
  if Pointvalue >= Bis then begin
    result := EndColor;
    exit;
  end;
  F := (Pointvalue - von) / (Bis - Von);
  asm
     mov EAX, Startcolor
     cmp EAX, EndColor
     je @@exit
     mov r1, AL
     shr EAX,8
     mov g1, AL
     shr Eax,8
     mov b1, AL
     mov Eax, Endcolor
     mov r2, AL
     shr EAX,8
     mov g2, AL
     shr EAX,8
     mov b2, AL
     push ebp
     mov al, r1
     mov dl, r2
     call CalcColorBytes
     pop ecx
     push ebp
     Mov r3, al
     mov dL, g2
     mov al, g1
     call CalcColorBytes
     pop ecx
     push ebp
     mov g3, Al
     mov dL, B2
     mov Al, B1
     call CalcColorBytes
     pop ecx
     mov b3, al
     XOR EAX,EAX
     mov AL, B3
     SHL EAX,8
     mov AL, G3
     SHL EAX,8
     mov AL, R3
@@Exit:
     mov @result, eax
 end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 i := i + 1;
  StaticText1.Caption := Format('%.2f', [i]);
 StaticText1.Font.Color := GetColorBetween(clBtnText, clBtnFace, i, 0,
iSteps);
 if i >= iSteps then Timer1.Enabled := False;
end;
La velocità può variare se cambi iSteps: più lo aumenti, più ci metterà a
sfumare.
--
Jax
====
E' bene non avere vizi e male non avere tentazioni. (Walter Bagehot)

 ha scritto nel messaggio
news:gJT7c.313$l27...@news.edisontel.com...

Grazie per l'interessamento,
ma se volessi sfumare ad esempio dei pannelli contenenti componenti o un
Timage, come potrei fare?

"<-Tangle->" <tan...@me.llk> ha scritto nel messaggio
news:6x18c.114563$O31.4...@news4.tin.it...

Si scusami, mi sono scordato di ringraziare.....eeeh la
maleducazione....:)))

 un Timage, come potrei fare?
Beh, lì il discorso è molto diverso. Quello che ti ho proposto è solo un
"trucco" per far sembrare trasparente un testo.
Per una vera e propria trasparenza come la intendi tu, non so se si possa
fare, un po' perché io non l'ho mai fatto, e un po' perché non l'ho mai
visto fare in nessuna applicazione.
Ripensandoci, qualcosa del genere magari si potrebbe fare, con bitmap e un
po' di codice per fare un fade (cerca su google "delphi fade", in
particolare questo sembra interessante 
http://www.liquidpulse.net/code/78
),
ma IMHO non so se ne vale la pena.
--
Jax
====
Dai diamanti non nasce niente, dal letame nascono i fiori. (F. De André)