Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 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

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

DNK (статус: Студент), 27 августа 2011, 01:07 [#3]:

Пример здесь.
"Digital Networked Knight"

29 августа 2011, 07:16: Вопрос закрыт (решение принял автор вопроса — Ермаханов Айбек): Спасибо всем!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:02
Выполнено за 0.03 сек.