Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
Время: 0.068 c
2-1336127281
__QWERTY
2012-05-04 14:28
2013.03.22
как правильно очистить TList ы, чтобы не было утечек памяти


2-1338895162
Сергей
2012-06-05 15:19
2013.03.22
Как закодировать проверку того что старший байт установлен?


2-1327748818
upc
2012-01-28 15:06
2013.03.22
Разрешить ввод в Edit только числовые значения с плавающей точкой


2-1330436797
brother
2012-02-28 17:46
2013.03.22
сохранение published в ini


15-1328345338
Rouse_
2012-02-04 12:48
2013.03.22
Засоветуйте WiFi роутер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский