| 
| 
 | Вопрос # 5 599/ вопрос закрыт / | 
 |  Доброго времени суток, уважаемые эксперты!У меня есть форма и на середине формы стоит 4 кнопки speedbutton. Теперь как можно сделать так чтобы при разных разрешениях экрана все эти 4 кнопки оставались на середине формы? Пробовал через Anchors но нечего не получилось. Заранее большое всем спасибо!!!
 
|  |   Вопрос задал: Ермаханов Айбек (статус: Посетитель)Вопрос отправлен: 26 августа 2011, 15:52
 Состояние вопроса: закрыт, ответов: 2.
 |  Ответ #1. Отвечает эксперт: ierihon1 Здравствуйте, Ермаханов Айбек!Что то наподобии мне пришлось делать на информатике но на VB с переносом на делфи проблем не оказалось.Во первых нужно задать положение кнопок в момент создания формы:
 
 procedure TForm2.FormCreate(Sender: TObject);
begin
  SpeedButton1.Left := Form2.ClientWidth div 2 - SpeedButton1.Width;
  SpeedButton1.Top := Form2.ClientHeight div 2 - SpeedButton1.Height;
 
  SpeedButton2.Left := Form2.ClientWidth div 2;
  SpeedButton2.Top := Form2.ClientHeight div 2 - SpeedButton2.Height;
 
  SpeedButton3.Left := Form2.ClientWidth div 2 - SpeedButton3.Width;
  SpeedButton3.Top := Form2.ClientHeight div 2;
 
  SpeedButton4.Left := Form2.ClientWidth div 2;
  SpeedButton4.Top := Form2.ClientHeight div 2;
end;Так же нужно это выполнять при изменении размеров окна для этого существует событие формы OnResize 
 procedure TForm2.FormResize(Sender: TObject);
begin
  SpeedButton1.Left := Form2.ClientWidth div 2 - SpeedButton1.Width;
  SpeedButton1.Top := Form2.ClientHeight div 2 - SpeedButton1.Height;
 
  SpeedButton2.Left := Form2.ClientWidth div 2;
  SpeedButton2.Top := Form2.ClientHeight div 2 - SpeedButton2.Height;
 
  SpeedButton3.Left := Form2.ClientWidth div 2 - SpeedButton3.Width;
  SpeedButton3.Top := Form2.ClientHeight div 2;
 
  SpeedButton4.Left := Form2.ClientWidth div 2;
  SpeedButton4.Top := Form2.ClientHeight div 2;
end; 
|  | Ответ отправил: ierihon1 (статус: 1-ый класс)Время отправки: 27 августа 2011, 08:26
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо большое! |  Ответ #2. Отвечает эксперт: DNK Здравствуйте, Ермаханов Айбек!Сделай небольшую Panel с невидимыми границами, помести в середине и отвяжи от всех границ. На неё помести нужные кнопки.
 Пример dfm-файла.
 
|  | Ответ отправил: DNK (статус: Студент)Время отправки: 28 августа 2011, 17:40
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо большое! |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 27 августа 2011, 01:07; участников в обсуждении: 2. 
|   | DNK (статус: Студент), 26 августа 2011, 16:08 [#1]:Сделай небольшую Panel с невидимыми границами, помести в середине и отвяжи от всех границ. На неё помести нужные кнопки. "Digital Networked Knight" |  
|   | Ермаханов Айбек (статус: Посетитель), 26 августа 2011, 16:21 [#2]:DNK: Все равно вместе с панелью выдвигается чуть слева и наверх. Какие параметры нужно установить в anchors Panel-а. Подскажи пожалуйста.
 |  26 августа 2011, 19:36: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Работа с компонентами и библиотеками модератором Ерёмин А.А. 
|   | DNK (статус: Студент), 27 августа 2011, 01:07 [#3]:Пример здесь. "Digital Networked Knight" |  29 августа 2011, 07:16: Вопрос закрыт (решение принял автор вопроса — Ермаханов Айбек): Спасибо всем! Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |