Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Тень и плавное появление окна


Автор: Illusion Dolphin 8.4.2004, 07:08
Каким образом мне сделать так, чтобы моё окно было с тенью и при этом при появление происходило её плавное появление, как менюшки в wiXP (& longhorn). Я делал так для появления тени:

Код

procedure TImHint.CreateParams(var Params: TCreateParams);
const
 CS_DROPSHADOW = $00020000;
begin
 inherited;
 if DBKernel.readinteger('Options','PreviewSwohOptions',1)=1 then
 Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;
end;


И одновремено по таймеру менял layered формы, но при таком подходе появляется сразу тень, а потом плавно окошко, а при исчезновении в самую последнюю очередь исчезает тень, а хотелось бы всё это сделать одновременно... Просто layered у формы никак не действует на тень, а иначе я не знаю, как быть... Что делать?

Автор: Maverick 8.4.2004, 10:02
А свойства формы AlphaBlendValue не устроит? Хотя у меня WinXP....
Я для плавного появления окна его меняю от 0 до 255.... и все красиво...

Автор: x77 8.4.2004, 10:09
насчёт тени - не знаю, а насчёт "плавных появлений" - AnimateWindow (Handle, 400, AW_BLEND) или там AW_CENTER - на любителя. вешать лучше всего в OnShow.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)