Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Delphi и свойства формы при перемещении

9.9K
01 февраля 2010 года
De_Montale
80 / / 23.08.2007
Добрый вечер всем.
При изменении размеров формы, форма перерисовывается в RunTime следуя за курсором мыши. Кто-нибудь знает, как сделать так, чтобы перерисовка была лишь один раз, при отпускании кн. мыши? Ну, т.е. прямоугольник в Run-Time изменяет свои размеры следуя за курсором, а когда кнопку отпускаешь, форма подстраивается под размеры этого прямоугольника, а не перерисовывается постоянно? :confused:
9.9K
01 февраля 2010 года
De_Montale
80 / / 23.08.2007
Это зависит от режима "Show window contents while dragging", который в реестре есть по вооот этому пути "HKEY_CURRENT_USER\Control Panel\Desktop" с ключом "DragFullWindows". И проверить режим можно функцией SystemParametersInfo с параметром SPI_GETDRAGFULLWINDOWS.
Только вот хз, будет ли это работать и корректен ли данный метод...
8.2K
01 февраля 2010 года
bagie2
299 / / 26.10.2008
Да, кстати. Только зачем проверять когда можно сразу выставить
Цитата:
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 0, nil, SPIF_SENDWININICHANGE);



Метод самый что ни на есть корректный

303
02 февраля 2010 года
makbeth
1.0K / / 25.11.2004
Ага. Очень весело. Менять системную настроку для всех программ. Очень ожидаемое поведение программы. Нужно по крайней мере после такого финта возвращать все обратно как было.
Хотя я бы на месте пользователя отрывал бы за такое руки по самую ж... пардон, шею. :\
8.2K
02 февраля 2010 года
bagie2
299 / / 26.10.2008
ну это не системная, а пользовательская настройка. но конечно же возвращать обратно надо обязательно. просто вот мне тоже ничего в голову не приходит насчет того, что хочет ТС. хотя может быть проблема в том, что окно мерцает при ресайзинге? может быть тогда поглядеть в сторону ValidateRect или двойной буферизации окна?
276
02 февраля 2010 года
Rebbit
1.1K / / 01.08.2005
не силен в Делфи и давно ето было, но может перегркузить Paint (или как оно там називается) для формы.
И смотреть меняется ли положение окна в сравнении с предыдущей прорисовкой. Если нет то колать дефолтную обработку, если да - смотреть надо как бы чего нужного не отрезать :)
303
02 февраля 2010 года
makbeth
1.0K / / 25.11.2004
Цитата: bagie2
ну это не системная, а пользовательская настройка.


Скажем так, пользовательская на уровне системы. И почему, спрашивается, я как пользователь получаю не то, что настроил под себя в системе (хочу изменить окно и видеть что происходит)? И, замечу, все это из-за того, что разработчик обвесил окно кучей разных ненужных компонентов. Зато красиво. Ага.

8.2K
02 февраля 2010 года
bagie2
299 / / 26.10.2008
Если ТС скажет для чего это ему нужно, то я думаю решение может найтись куда более подходящее и правильное.

[COLOR="Gray"]makbeth
[SIZE=1]Ну и я не фанат этих всех штук +) Сам люблю и уважаю в основном классические виндовые контролы, тему исключительно Windows Classic со времен Win2000 и ненавижу скины в приложениях.[/SIZE][/COLOR]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог