(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Растягивание формы на весь экран. Программирование Delphi.

Источник: rgblog
Руслан Гайсин

Сегодня я расскажу как растягивал форму в Delphi во весь экран без искажения из-за разных соотношений высоты и ширины экрана. И изменение масштаба компонент установленных на форме.

Создаем новый проект в Делфи. И кидаем на форму панель - Panel1, установив для нее свойство Align = alClient (растягивать по форме).

Самой форме необходимо поменять свойства BorderStyle = bsNone и WindowState = wsMaximized

Создаем процедуру procedure FullScreen(oForm: TForm; oPanel: TPanel);

Со следующим кодом:

procedure TForm1.FullScreen(oForm: TForm; oPanel: TPanel); var percentw,percenth: integer; begin oPanel.Align := alNone; oForm.Color := clBlack; //Цвет участков за панелью if Screen.Width > 800 then begin percentw := Round(((Screen.Width - 800) / 800) * 100) + 100; percenth := Round(((Screen.Height - 600) / 600) * 100) + 100; if (percentw < percenth) then oForm.ScaleBy(percentw, 100) else oForm.ScaleBy(percenth, 100); end; oForm.Height := Screen.Height; oForm.Width := Screen.Width; oPanel.Top := Round((oForm.Height - oPanel.Height) / 2); oPanel.Left := Round((oForm.Width - oPanel.Width) / 2); end;

В данном коде вместо 800, подставляем ширину формы при разработке приложения. А вместо 600 высоту.

Я выносил эту процедуру в отдельный файл (unit), поэтому сделал передачу формы в процедуру.

Создаем процедуру FormCreate, которая выполняется при создании формы

procedure TForm1.FormCreate(Sender: TObject); begin FullScreen(Form1,Panel1); end;

Для проверки работоспособности кода поместим на форму две кнопки, в разные углы формы.

В результате работы данного приложения, мы получим следующую картину при запуске:

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Embarcadero »
Написать редактору 
 Рекомендовать » Дата публикации: 22.07.2013 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Delphi Professional Named User
Enterprise Connectors (1 Year term)
Антивирус ESET NOD32 SMALL Business Pack renewal for 5 user. Электронный ключ.
TeeChart for .NET with source code single license
ESET NOD32 Secure Enterprise newsale for 26 user, лицензия на 1 год
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Каждый день новые драйверы для вашего компьютера!
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Слот Биг Бэнг (6)
Большой взрыв как правящая теория сотворения мира. Теперь вы можете поиграть слот Big Bang в...
 
Отличается ли ДрифтКазино от беттинга? (57)
Друзья, давно заметил, что на Дрифте уже несколько месяцев во всю рекламируется и предлагается...
 
Подскажите лучшее онлайн казино (8)
Вот нашёл интересную игровую площадку, и это онлайн казино Вавада. Может кто что подсказать по...
 
Помощь по MS Access (345)
Доброе время суток. Случайно оказался на этом сайте, искал статьи по OLAP. Вижу, что...
 
Требуется Краснодар: Java -разрабочик (2)
Обязанности: Разработка корпоративных backend-приложений для автоматизации розничных продаж...
 
 
 



    
rambler's top100 Rambler's Top100