Конференция "KOL" » Анимация окна [Delphi, Windows]
 
  • Trible (09.11.07 21:14) [20]

    > Vladimir Kladov ©   (03.11.07 10:19) [19]
    > Но у меня сработало.

    а можно поподробнее? поясните на примере, как вы в зумере сделали прозрачность?
  • homm © (09.11.07 21:23) [21]
    > [20] Trible   (09.11.07 21:14)
    > а можно поподробнее? поясните на примере, как вы в зумере
    > сделали прозрачность?

    Включи монитор уже:

    > [19] Vladimir Kladov ©   (03.11.07 10:19)
    > Но потом прозрачность меняется только до 254 чтобы перехода
    > уже не было.
  • arreke © (13.02.08 06:57) [22]
    Извиняюсь за глупый вопрос.
    KOL и MCK, я так понял дополнительные библиотеки, и предыдущие посты написаны для них.
    А возможно ли вышесказанные эффекты применить без использования этих библиотек ?
    То есть FormCreate begin ... end; FormClose begin ... end;
  • =BuckLr= © (13.02.08 11:01) [23]
    Да. какая разница, всё равно api используется
  • Chandrasecar © (13.02.08 18:46) [24]
    Я нашел следующее решение проблемы, и оно на мой взгляд куда проще! Ведь не все имеют библиотеку компонентов KOL. Только прежде в св-вах формы нужно указать следующее: AlphaBlend:=True; AlphaBlendValue:=0. На форму добавить таймер, Interval:=1.

    procedure TForm1.Timer1Timer(Sender: TObject);
    var i:integer;
    begin
      Form1.AlphaBlend:=True;
      for i:=0 to 255 do
      begin
         Form1.AlphaBlendValue:=i;
      end;
      Timer2.Enabled:=False;
    end;

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    var j:integer;
    begin
      for j:=255 downto 0 do
      begin
         Form1.AlphaBlendValue:=j;
      end;
    end;
  • Chandrasecar © (13.02.08 18:51) [25]
    Да, добавлю к предыдущему, процедура для Timer1 должна быть в самом начале програмного кода, т.е. должна выполняться первой! А значение Interval для Timer1 может быть в принципе любым! Оптимальное, на мой взгляд - 25.
  • arreke © (13.02.08 22:29) [26]

    > to Chandrasecar


    зачем столько писать, выше Compiler уже писал же,
    на FormCreate кидаем AnimateWindow(Form1.Handle, 1000, AW_BLEND or AW_ACTIVATE);
    на FormClose кидаем AnimateWindow(Form1.handle, 1000, AW_BLEND or AW_HIDE);
    и всё нормуль
 
Конференция "KOL" » Анимация окна [Delphi, Windows]
Есть новые Нет новых   [134467   +7][b:0][p:0]