Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Delphi | События при создании формы (http://forum.oszone.net/showthread.php?t=46279)

riddler 05-03-2005 02:16 303709

Delphi | События при создании формы
 
Возник следующий вопрос: в дельфях седьмых хочется сделать, чтобы форма появлялась не сразу, а постепенно, как Чеширский Кот
Очевидный порыв использовать alphaBlend (благо W2K есть уже почти везде) наталкивается вот на что - если сажать блендинг на OnCreate - OnPaint, то отрисовывается только форма, а картинки и кнопки на ней появляются уже ПОСЛЕ отработки; попытки принудительно отрисовать картинку в OnPaint тоже ни к чему не привели Можно ли как-нибудь привязаться не к началу, а к концу отрисовки формы - или еще другой какой-нибудь путь существует?..

Savant 05-03-2005 13:16 303806

Можно поступить примерно так:
Код:

var
  FirstShow: Boolean = True;

implementation

.....

procedure TForm1.FormShow(Sender: TObject);
var
  i: Byte;
begin
  if not FirstShow then Exit;
  FirstShow:=False;
  ShowWindow(Form1.Handle,SW_SHOW);
  for i:=0 to 255 do begin
    Application.ProcessMessages;
    Form1.AlphaBlendValue:=i;
    Sleep(5); // Задержку можно уменьшить или убрать совсем
  end;
end;



Время: 08:00.

Время: 08:00.
© OSzone.net 2001-