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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2010, 21:52   #1
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию Проверка Panel

добрый день. возник вопрос..
есть допустим 2 панельки 25х25, стоят почти рядом несколько пикселей друг от друга. каким образом можно проверить кликая на панель есть ли рядом с ней вторая панель. т.е допустим кликнули по первой и если рядом с ней есть вторая то условие.. а если кликнули по второй и возле неё дальше по Left нету ничего тоже условие.. помогите
program123 вне форума Ответить с цитированием
Старый 15.09.2010, 21:56   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

А в чем проблема? Работайте с координатами и размерами панелек (Top, Left, Height, Width).
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 15.09.2010, 22:05   #3
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

пытался так:
Код:
for i:=1 to ComponentCount-1 do
  if (((Sender as TButton).Left + 5) <> (TButton(Components[i]).Left)) then ...
program123 вне форума Ответить с цитированием
Старый 15.09.2010, 22:07   #4
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию

ну вот пример для первого условия
Код:
procedure TForm1.Panel1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to 100 {укажи свой диапазон} do
begin
if panel1.Left+panel1.Width+i=panel2.Left then
showmessage('Вторая находится на растоянии ['+inttostr(i)+'] от первой');
end;
end;
ну и по второму вопросу

Код:
procedure TForm1.Panel2Click(Sender: TObject);
var i:integer;
begin
for i:=0 to form1.Width do
begin
if panel2.Left-i=panel1.Left then
showmessage('Слева есть панель');
end;
end;

Последний раз редактировалось designer999; 15.09.2010 в 22:15.
designer999 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Squary panel Alex Cones Софт 26 02.09.2010 21:41
Panel начинающий1 Компоненты Delphi 6 15.10.2009 13:58
BBcodes panel spein PHP 1 19.04.2009 15:21
XPMan и Panel WOLFak Компоненты Delphi 14 25.05.2008 10:33