Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прозрачное появление формы 
:(
    Опции темы
neweraser
Дата 28.3.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



не могу нигде найти, подскажите, как сделать прозрачное появление формы? 
если делать так
Код

procedure TMainForm.FormShow(Sender: TObject);
begin
  AnimateWindow(Handle, 500, AW_BLEND or AW_ACTIVATE);
end;

то работает, но некоторые элементы формы пропадают...


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
MetalFan
Дата 28.3.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



куда пропадают?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
neweraser
Дата 28.3.2008, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



кнопки становятся не видны


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
SandyProgrammer
Дата 28.3.2008, 20:34 (ссылка)  | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 26.3.2008

Репутация: нет
Всего: нет



Реально пропадают. Попробуй вот так:
Код

procedure TMainForm.FormShow(Sender: TObject);
begin
AnimateWindow(Handle, 500, AW_BLEND or AW_ACTIVATE);
Button2.Repaint; //кнопки, которые используются
Button3.Repaint;
end;


Это сообщение отредактировал(а) SandyProgrammer - 28.3.2008, 20:36
PM MAIL   Вверх
MetalFan
Дата 28.3.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



решил так:
в коде dpr проекта после создания первой(главной) формы вызвать AnimateWindow
Код

  Application.CreateForm(TForm1, Form1);
  AnimateWindow(Form1.Handle, 500, AW_BLEND or AW_ACTIVATE);
  Application.Run;



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
neweraser
Дата 28.3.2008, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



спасибо, воспользовался первым кодом, пробовал второй что-то не работает


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
SandyProgrammer
Дата 28.3.2008, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 26.3.2008

Репутация: нет
Всего: нет



Не работает? А что пишет?
PM MAIL   Вверх
neweraser
Дата 29.3.2008, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



ничего не пишет, грузится как обычно

Добавлено через 2 минуты и 16 секунд
хотя может из-за того, что у меня немного код изменен
Код

begin
  Application.Initialize;
  Application.Title := 'Copy files to clipboard';
  Application.CreateForm(TMainForm, MainForm);
  AnimateWindow(Form1.Handle, 500, AW_BLEND or AW_ACTIVATE);
  Application.CreateForm(TWaitForm, WaitForm);
  Application.CreateForm(TCreateFolderForm, CreateFolderForm);
  Application.CreateForm(TErrorForm, ErrorForm);
  Application.Run;
  CreateFolderForm.ShowModal;
end.



--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
SandyProgrammer
Дата 29.3.2008, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 26.3.2008

Репутация: нет
Всего: нет



У вас ошибка в пятой строке. Нужно не так:

Код

  Application.CreateForm(TMainForm, MainForm);
  AnimateWindow(Form1.Handle, 500, AW_BLEND or AW_ACTIVATE);


А вот так:

Код

  Application.CreateForm(TMainForm, MainForm);
  AnimateWindow(MainForm.Handle, 500, AW_BLEND or AW_ACTIVATE);


И ещё, Вы в Uses подцепили модуль windows?
Код


uses
  Forms, windows,

PM MAIL   Вверх
MetalFan
Дата 29.3.2008, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(neweraser @  29.3.2008,  00:21 Найти цитируемый пост)
что у меня немного код изменен

вообще не понятно, как скомпилилось, если у тебя нет  Form1


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
neweraser
Дата 29.3.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



Цитата(SandyProgrammer @  29.3.2008,  05:55 Найти цитируемый пост)
Application.CreateForm(TMainForm, MainForm);
  AnimateWindow(MainForm.Handle, 500, AW_BLEND or AW_ACTIVATE);

я тут немного ошибся, на самом деле у меня было 
Цитата(SandyProgrammer @  29.3.2008,  05:55 Найти цитируемый пост)
Application.CreateForm(TMainForm, MainForm);
  AnimateWindow(MainForm.Handle, 500, AW_BLEND or AW_ACTIVATE);

просто как писал ответ немного ошибся: копировал код не из программы, а из постов, может все из-за последней строчки CreateFolderForm.ShowModal? хотя не думаю, что она как-то повлияет


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
MetalFan
Дата 29.3.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



странно, у меня на 2006й отработало правильно...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
neweraser
Дата 29.3.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



не знаю... у меня 2005 и не работает, но думаю, это не от версии delphi зависит

Добавлено через 11 минут и 18 секунд
у меня, наверное, с кодом что-то, потому что только что попробовал сделать нов. форму - все работает


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1076 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.