nusya24 Опубликовано 3 января, 2006 Жалоба Поделиться Опубликовано 3 января, 2006 как изменять размеры формы за какой-нибудь другой объект, если свойство BorderStyle=bsNone (предположим за объект Image, кот находится в правом нижнем углу формы) Ссылка на комментарий Поделиться на другие сайты Поделиться
LomaK.XP Опубликовано 9 февраля, 2006 Жалоба Поделиться Опубликовано 9 февраля, 2006 в свойстве Image1 OnResize Form1.Width:=Image1.Width;Form1.Height:=Image1.Height; Ссылка на комментарий Поделиться на другие сайты Поделиться
Shurr Опубликовано 10 февраля, 2006 Жалоба Поделиться Опубликовано 10 февраля, 2006 LomaK.XP в свойстве Image1 OnResizeForm1.Width:=Image1.Width;Form1.Height:=Image1.Height; И что мы получим? Форму, которая изменяет свои размеры при изменении размеров Image. А кто будет изменять размеры Image? nusya24 Самое простое решение: 1. Привязываешь Image к правому нижнему краю формы, чтобы при resize'e формы он оставался в углу. 2. Вручную контролируешь нажатие левой кнопки мыши над Image'ем. Т.е. заводишь булевскую переменную, например IsResizerImageMouseDown. На onMouseDown Image'a ставишь ее в true, а на onMouseUp - false. 3. На onMouseMove Image'a проверяешь, нажата ли левая кнопка мыши. Если нажата - изменяешь размеры формы на величину смещения мыши. Что-то типа такого: if IsResizerImageMouseDown thenbegin Form1.Height := Form1.Width + X; Form1.Height := Form1.Height + Y;end; И все! P.S. Можно, конечно, воспользоваться параметром Shift для определения нажатости кнопки мыши, но тогда будут ложные срабатывания, когда кнопка мыши зажата над другим контролом, но при перемещении курсора к Image'у сработает наш механизм растягивания окна. P.P.S. Код не тестил, но должно работать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти