Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

чтобы форма появлялась градиентно [D7, WinXP]


hinst ©   (2007-10-07 11:01:00) 

3д. Всем.
Подскажите, пожалуйста, компонент для того, чтобы форма появлялась градиентно.(При показе добавляла АльфаБленд с заданым шагом времени и процента, а при скрытии формы убавляла).


DVM   (2007-10-07 12:13:00) [1]


> Спасибо. А нет процедуры, чтобы она еще скрывалась прозрачно.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 AnimateWindow(handle, 500, AW_BLEND or AW_HIDE);
end;


DVM   (2007-10-07 12:08:00) [2]

Кстати, забыл сказать, что:

function WindowAnimate(Wnd: HWND; dwTime: DWORD; dwFlags: DWORD): BOOL;
type
 TWndAnimate = function (h: HWND; Time: DWORD; Flags: DWORD): BOOL; stdcall;
var
 WndAnimate: TWndAnimate;
begin
 @WndAnimate := GetProcAddress(GetModuleHandle(PChar('user32.dll')), PChar('AnimateWindow'));
 Result := Assigned(@WndAnimate);
 if Result then
   Result := WndAnimate(Wnd, dwTime, dwFlags);

end;


hinst   (2007-10-07 12:04:00) [3]

Спасибо. А нет процедуры, чтобы она еще скрывалась прозрачно.


DVM   (2007-10-07 11:36:00) [4]

procedure TSplashForm.FormShow(Sender: TObject);
begin
  if OSVersion >= OsWin2000 then
    WindowAnimate(handle, 500, AW_BLEND);
end;


homm   (2007-10-07 11:04:00) [5]

Тебе нужно добавлять АльфаБленд с заданым шагом времени и процента, а при скрытии убавлять.


Наверх

Титульная страница Поиск, карта сайта Написать письмо