Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Внизслипание форм в дельфи Найти похожие ветки
← →
простофан (2012-06-07 16:41) [0]Добрый день.
Помогите мне в трех соснах разобраться. У меня в проге 3 формы - эти три формы должны слипаться по центру друг с другом если одна находиться на расстоянии 50пик. т.е. есть одну форму подвести к другой то она склеиться по центру первой формы и их можно спокойно(не быстро) двигать по монитору, тогда они не расклеятся - это все просто, я сделал, но вот есть 3 форма и нужно сделать проверку не склеены ли уже две первые. Проверку сделать не могу, уже крыша едет от этого - просто, а не получается у меня во что - если подвести 3-ю форму к уже созданной склейки то она затирает одну из 1-ых двух собой.
Я вам приведу код 1-двух склеек, вы пож. помогите мне его расширить и на 3-ю
procedure TForm1.WMMove(var Msg: TWMMove);
begin
if Assigned(Form2) then
begin
if abs(Form1.Left+Form1.Width-Form2.Left)<75 then //влево
begin
Form2.Left:=Form1.Left+(Form1.Width div 2);
Form2.Top:=Form1.Top;
end;
if abs(Form2.Left+Form2.Width-Form1.Left)<75 then //вправо
begin
Form2.Left:=Form1.Left-Form2.Width;
Form2.Top:=Form1.Top;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm2.WMMove(var Msg: TWMMove);
begin
if abs(Form1.Left+Form1.Width-Form2.Left)<75 then //вправо
begin
Form1.Left:=Form2.Left-Form1.Width;
Form1.Top:=Form2.Top;
end;
if abs(Form2.Left+Form2.Width-Form1.Left)<75 then //влево
begin
Form1.Left:=Form2.Left+(form2.Width div 2);
Form1.Top:=Form2.Top;
end;
end
← →
DVM © (2012-06-07 17:28) [1]Имхо правильнее обрабатывать WM_MOVING а не WM_MOVE
← →
Cobalt © (2012-06-07 17:34) [2]Удалено модератором
← →
robt (2012-06-07 17:45) [3]
> эти три формы должны слипаться по центру друг с другом
и зачем люди тратят время на всякую херню...
← →
простофан (2012-06-07 17:55) [4]WM_MOVING - сейчас посмотрю, как этот зверь работает
← →
Dennis I. Komarov © (2012-06-07 22:16) [5]
> и зачем люди тратят время на всякую херню...
это путь, который надо пройти... и пусть юзвери проклянут автора за разные глюки из-за подобного поведения форм, но это же суперпупермегакруто (СПМК)
← →
простофан (2012-06-08 00:48) [6]Dennis I. Komarov ээээ я все на советь делаю и тестирую по несколько раз - кстати разобрался со всеми проблемами.
← →
robt (2012-06-08 11:56) [7]
> простофан (08.06.12 00:48) [6]
да можеш хоть вусмерть обтестироваться, но на другом компе\другой винде , будет работать по другому
особенно если у хозяина оного установлено стописят шняжных утилит от таких же умельцев вроде тебя
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 1.004 c