Форум: "Начинающим";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
ВнизКак показать модальное окно только после CreateRectRgn? Найти похожие ветки
← →
И. Павел (2009-01-25 18:17) [0]Здравствуйте.
Я пытаюсь сделать анимированное появление диалогового окна, так, чтобы окно выводилось на экран по частям, с помощью функции SetWindowRgn. При появлении окна, оно должно быть скрыто полностью:
R:=CreateRectRgn(0, 0, 0, 0);
SetWindowRgn(Form.Handle, R, True);
Form.Show;
проблема в том, что такой код не работает - форма все равно выводится целиком. Если использовать метод Show вместо ShowModal, то простая форма скроется, но я еще использую скины AlphaControls, и даже с Show ничего не получается, и форма мелькает перед началом анимации.
Подскажите, пожалуйста, как можно выводить форму на экран уже после того, как заданы ее видимые и невидимые участки?
Заранее спасибо.
← →
@!!ex © (2009-01-25 21:03) [1]Сначала показываешь, потом задаешь регионо. И ВНИМАТЕЛЬНО следишь, чтобы другие части прогаммы(компоненты?) не задавали свой регион или свойства конфликтующие с вамшим регионом.
← →
И. Павел (2009-01-26 09:59) [2]Даже используя две чистые формы без сторонних компонентов, код:
R:=CreateRectRgn(0, 0, 0, 0);
SetWindowRgn(Form2.Handle, R, True);
Form2.ShowModal;
приводит к появлению целого модального окна.
В принципе, сразу рисуется только рамка окна, так что я пока использую BorderStyle:=bsNone.
← →
@!!ex © (2009-01-26 10:37) [3]> [2] И. Павел (26.01.09 09:59)
Я ж по русски написал:
> Сначала показываешь, потом задаешь регион
← →
И. Павел (2009-01-26 14:01) [4]Даже если писать Show непосредственно перед SetWindowRgn, рисуется рамка окна. Скорее всего, это из за того, что я использую AlphaControls - без скинов такой подход работает даже если сначала задавать регион а потом выводить форму.
← →
@!!ex © (2009-01-26 14:07) [5]> [4] И. Павел (26.01.09 14:01)
Не знаю что такое альфаконтролс, но собственно поэтому я и написал вторую часть сообщения:
> чтобы другие части прогаммы(компоненты?) не задавали свой
> регион или свойства конфликтующие с вамшим регионом.
:))
То что без этого альфаконтрола все работает говорит о том, что там деется нечто конфликтующее.
выясняйте, что мешает.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c