Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
brigantin
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 6
#1

Плавное появление и затухание формы - Delphi

06.04.2016, 18:45. Просмотров 486. Ответов 10
Метки нет (Все метки)

Ребят облазил все темы, не получается почему то.

Вставляю вот этот код:
Код
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  AnimateWindow(handle, 500, AW_BLEND or AW_HIDE);
end;
Появляется плавно, но кнопки не отображаются, пока не тронешь форму.
http://www.cyberforum.ru/delphi-beginners/thread1198444.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2016, 18:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Плавное появление и затухание формы (Delphi):

Плавное появление
Уважаемые товарищи программисты! Помогите мне пожалуйста!!! У меня проект...

Плавное появление кнопки
Доброго времени суток! Помогите пожалуйста:cry: У меня при открытии программы...

Плавное исчезание формы
Для плавного исчезания формы при закрытии такой код: procedure...

Плавное изменение формы
Доброго времени суток! Имеется задача, при решении которой возникли трудности....

Плавное увеличение формы
Здравствуйте, можно ли в делфи реализовать плавное увеличение формы без...

10
Ruta
7 / 7 / 7
Регистрация: 26.04.2015
Сообщений: 216
Завершенные тесты: 3
06.04.2016, 18:52 #2
Цитата Сообщение от brigantin Посмотреть сообщение
TForm1.FormClose
это действие выполняется при закрытии формы а при открытии что?
0
brigantin
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 6
06.04.2016, 21:26  [ТС] #3
Цитата Сообщение от Ruta Посмотреть сообщение
это действие выполняется при закрытии формы а при открытии что?
2 раза на OnShow, и там после begin
AnimateWindow(Handle, 500, aw_blend or aw_slide);
0
Ruta
7 / 7 / 7
Регистрация: 26.04.2015
Сообщений: 216
Завершенные тесты: 3
06.04.2016, 21:33 #4
brigantin, я еще сама очень фигово разбираюсь, но что если попробовать в onshow после этой строки добавить Form.Update или вот еще людишки советуют:
вместо

Update;

Application.ProcessMessages;
но я не уверена, извиняюсь если что
0
brigantin
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 6
13.04.2016, 18:51  [ТС] #5
Цитата Сообщение от Ruta Посмотреть сообщение
но я не уверена, извиняюсь если что
куда именно покажите плиз

Кликните здесь для просмотра всего текста
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
RadioButton1: TRadioButton;
Memo1: TMemo;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
AnimateWindow(Handle, 500, aw_blend or aw_slide);
end;

end.
0
Ruta
7 / 7 / 7
Регистрация: 26.04.2015
Сообщений: 216
Завершенные тесты: 3
13.04.2016, 19:00 #6
brigantin, в процедуре formshow сразу после строки AnimateWindow(Handle, 500, aw_blend or aw_slide); до пишите. По идее должна относиться форма.

Не по теме:

пишу пока что с телефона, нет возможности зайти через компьютер, жутко не удобно



Delphi
1
2
3
4
5
procedure TForm1.FormShow(Sender: TObject);
begin
AnimateWindow(Handle, 500, aw_blend or aw_slide);
Form1.update
end;
0
brigantin
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 6
13.04.2016, 19:07  [ТС] #7
Цитата Сообщение от Ruta Посмотреть сообщение
procedure TForm1.FormShow(Sender: TObject);
begin
AnimateWindow(Handle, 500, aw_blend or aw_slide);
Form1.update
end;
вот так пишу, всё равно идет плавное появление, только при нажатии на форму отображаются все кнопки и другие элементы
Кликните здесь для просмотра всего текста
procedure TForm1.FormShow(Sender: TObject);
begin
AnimateWindow(Handle, 1000, aw_blend or aw_slide);
Application.ProcessMessages;
end;
0
Ruta
7 / 7 / 7
Регистрация: 26.04.2015
Сообщений: 216
Завершенные тесты: 3
13.04.2016, 19:27 #8
brigantin, а пробовали вместо
Цитата Сообщение от brigantin Посмотреть сообщение
AnimateWindow(Handle, 500, aw_blend or aw_slide);
Delphi
1
AnimateWindow(Form1.Handle, 500, AW_BLEND OR SW_SHOW);
?

Добавлено через 2 минуты
или в место FormShow засунуть в FormCreate
0
brigantin
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 6
13.04.2016, 19:41  [ТС] #9
Цитата Сообщение от Ruta Посмотреть сообщение
или в место FormShow засунуть в FormCreate
Да этот способ помогает, но, у меня форма появляется не по центру, а потом центрируется после появления.

(Свойства формы - Position - poDesktopCenter или poScreenCenter)
0
Ruta
7 / 7 / 7
Регистрация: 26.04.2015
Сообщений: 216
Завершенные тесты: 3
13.04.2016, 19:43 #10
brigantin, извините, у меня вариантов больше нету
0
brigantin
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 6
13.04.2016, 19:56  [ТС] #11
Цитата Сообщение от Ruta Посмотреть сообщение
извините, у меня вариантов больше нету
Если будут напишите сюда, спасибо
0
13.04.2016, 19:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2016, 19:56
Привет! Вот еще темы с решениями:

Плавное открытие формы
Привет всем!+) Объясните пожалуйста как так происходит, при нижеследующей...

Плавное изменение формы в делфи
Есть компонент ScrollBar Как мне сделать так, что бы когда я двигал ползунок у...

Появление формы на экране
Как сделать так чтобы форма всегда появлялась в центре экрана, не зависимо от...

формы, их создание и появление
Столкнулся с проблемой что не могу поменять местами запуск форм, 2ую и 1ую....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru