Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2012, 18:36   #1
krikaved
Пользователь
 
Регистрация: 26.02.2010
Сообщений: 66
Восклицание Panel по центру формы и закрытие файла

1. Как сделать Panel1 по центру формы?
У меня получилось не по центру, а немного левее.
Код:
Panel1.Top:=Screen.DesktopTop;
Panel1.Left:=Screen.DesktopWidth - Width;
2. Подскажите как сделать чтобы скомпилированный exe файл не закрывался по нажатию клавиш ALT+F4?
krikaved вне форума Ответить с цитированием
Старый 12.03.2012, 19:01   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

panel:left:=( form.width - panel.width ) div 2;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 12.03.2012, 19:10   #3
krikaved
Пользователь
 
Регистрация: 26.02.2010
Сообщений: 66
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
panel:left:=( form.width - panel.width ) div 2;
Panel1 находится там же, где и в моем коде - вверху левее центра.
krikaved вне форума Ответить с цитированием
Старый 12.03.2012, 19:12   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
panel.left:=( form.width - panel.width )
Кольша вне форума Ответить с цитированием
Старый 12.03.2012, 19:15   #5
Хамяг
Форумчанин
 
Аватар для Хамяг
 
Регистрация: 22.08.2008
Сообщений: 105
По умолчанию

1)
Цитата:
Сообщение от evg_m Посмотреть сообщение
panel:left:=( form.width - panel.width ) div 2;
лучше использовать свойство clientwidth у формы:

Panel.Left := (ClientWidth - Panel.Width) div 2;

2)
обработчик события OnKeyDown:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssAlt in Shift) and (Key = VK_F4) then Key := 0;
end;
Хамяг вне форума Ответить с цитированием
Старый 12.03.2012, 19:53   #6
krikaved
Пользователь
 
Регистрация: 26.02.2010
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Хамяг Посмотреть сообщение
1)лучше использовать свойство clientwidth у формы:
Panel.Left := (ClientWidth - Panel.Width) div 2;
Все равно также, у меня форма alClient может это как-то влияет?
krikaved вне форума Ответить с цитированием
Старый 13.03.2012, 19:40   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
у меня форма alClient может это как-то влияет?
конечно влияет.
сохдается она нормального размера.
панеть выставляется по этим размерам.(если телепатор не врет, то создание панели и установка позиции идет в OnCreate).
потом идет выставление новыъ размеров формы, а панель как была так и осталась.
чтобы следить за размерами у формы есть OnResize
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
расположение объекта по центру формы skalt12 Общие вопросы Delphi 3 11.05.2010 19:43
Закрытие формы annaangel Общие вопросы Delphi 2 09.10.2009 13:26
Закрытие формы.... sergiksergik Microsoft Office Excel 18 22.09.2009 20:23
Закрытие формы RIO Общие вопросы Delphi 2 27.08.2009 17:10
Закрытие формы girz БД в Delphi 7 13.05.2009 22:54