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

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

MainForm преобразовать в градации серого [D7, Win2k, WinXP]


Anger ©   (2005-03-18 14:35:00) 

Вообщем хочу реализовать такую фичу, при выходе из моей проги когда открыт диалог, "Выход? или нет?" Чтоб главная форма из цветной перешла в градацию серого и наоборот соответственно. Вообщем как в ХРюше. т.е плавный переход. Помогите плиз где копать.


Lence   (2005-03-19 14:13:00) [1]

Попробуй вот это

private
    protected Procedure LastFocus(var Mess : TMessage) ; message  WM_ACTIVATE;
   { Private declarations }

.......

implementation

Procedure TForm1.LastFocus(var Mess : TMessage) ;
Begin

    IF  Mess.wParam = WA_INACTIVE
    Then  // Пишешь сюда что форма должна делать, изменить
// свой Альфа бленд или еще ченить  
       Else // либо пусть есть как есть

    Inherited;

End;
{$R *.dfm}

У меня работает так календарь, он весит все время на экране и если Актив контрол на нем тогда он оранжевый если нет то серый
Попробуй это использовать, правдо незнаю годится ли для твоего примера.


X-Disa   (2005-03-19 13:37:00) [2]

Можно получить canvas  экрана (через GetDC(0)), связать с битмапом, и соответственно изменить область формы (GetWindowRect)


Наверх

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