Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
ВнизAnimateWindow и XPManifest Найти похожие ветки
← →
KiBERMiKE (2005-09-13 13:18) [0]Задача такая: Красиво выезжает Форма, а на ней компоненты в стиле XP.
Что делаю я:
1. Добавляю компоненты... например TComboBox и TEdit.
2. Добавляю XPManifest.
3. В Form1.OnShow пишу:
AnimateWindow(Form1.Handle, 500, AW_CENTER + AW_SLIDE + AW_ACTIVATE);
4. Запусускаю программу, и (!) в стиле XP прорисовывается только ComboBox, а все Edit~ы остались обычными. К ним подводишь курсор и они становяться XP~шными....
Вопрос: Как сделать так, чтобы все компоненты появились в стиле Xp???
Заранее спасибо!
← →
KiBERMiKE (2005-09-13 14:01) [1]Пробывал делать: Form1.Refresh, Form1.Update, Form1.Invalidate... всё это не помогает.
Помогает только ShowWindow(Form1.Handle, 0), но от этого форма неприятно дёргается (исчезает и появляется).
Может всё-таки есть более корректное решение?
← →
Big Joe © (2005-09-13 17:16) [2]Есть решение
AnimateWindow(Form1.Handle, 500, AW_CENTER + AW_SLIDE + AW_ACTIVATE);
затем напиши:
Edit1.enabled:=false;
Edit2.enabled:=true;
← →
Big Joe © (2005-09-13 17:16) [3]Извини Ошибся
Edit1.enabled:=false;
Edit1.enabled:=true;
← →
Big Joe © (2005-09-13 17:19) [4]также сработает если напишешь так:
Edit1.Visible:=false;
Edit1.Visible:=true;
← →
KiBERMiKE (2005-09-14 09:39) [5]В общем-то как вариант можно... Правда если используется много компонентов придётся писать цикл для Form1.Controls, всех Энэблить и Дисэблить (Скрывать и показывать), а это займёт некоторое время. Да, и при этом я могу использовать скрытые (или задисэблинутые) контролы, тогда, после этого цикла, они появються (энейблинуться).
Может есть ещё какой-то вариант? Как заставить все контролы на форме перерисовать свои регионы (Repaint не помогает)?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c