Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.15;
Скачать: CL | DM;

Вниз

Как показать модальное окно только после 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
2-1232578253
RustB
2009-01-22 01:50
2009.03.15
Ошибка при добавлении записи в access


15-1231918204
Рыбба
2009-01-14 10:30
2009.03.15
Как правильно наследоваться от TDataModule?


3-1216046758
Ivanoff
2008-07-14 18:45
2009.03.15
Помогите правельно написать SQL запрос


3-1216357535
Konrads
2008-07-18 09:05
2009.03.15
Связывание таблиц в SQL запросе


2-1232993954
Тимоха
2009-01-26 21:19
2009.03.15
альтернатива stringgrid