|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.05.2011, 19:50 | #11 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
Не будьте копипастером, посмотрите на процедуры выше и ниже проблемной.
Что касается демок в DelphiXE, то они там тоже есть только находятся в папке с документами пользователя. Например: C:\Users\*\Documents\RAD Studio\8.0\Samples\Delphi\VCL\Docki ng Последний раз редактировалось eduard93; 07.05.2011 в 19:53. |
07.05.2011, 20:59 | #12 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
Держи, с тебя + в репутацию =)
|
08.05.2011, 00:46 | #13 |
Форумчанин
Регистрация: 01.02.2011
Сообщений: 105
|
Спасибо большое, по Вашему примеру почти получилось что надо, только если форму2 переместить в форме1, то при перемещении формы1 форма2 опять перескакивает на прежнее место, это не есть хорошо.
Я бы Вам и 10 плюсов рад поставить, да нет такой возможности пока, наверно мало сообщений набрал. Как бы сделать, чтобы форма 2 не перескакивала на начальное положение при перемещении формы1, а запоминало своё последнее местоположение, и перемещалась уже там? Последний раз редактировалось werrey; 08.05.2011 в 13:00. |
08.05.2011, 14:18 | #14 |
Форумчанин
Регистрация: 01.02.2011
Сообщений: 105
|
Всем огромное спасибо, осталось решить 2 проблемы:
1.Как сделать, чтобы перемещенная форма2 внутри формы1 запоминала своё место, а не возвращалась в исходную позицию при перемещении формы1? 2.Как сделать, чтобы форма 2 не могла при перетаскивании вылезать за пределы формы1? Код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormResize(Sender: TObject); procedure FormShow(Sender: TObject); private procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest; public procedure WMMove(var Msg: TWMMove); message WM_MOVE; end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.WMNCHitTest(var M: TWMNCHitTest); begin inherited; if M.Result = htClient then M.Result := htCaption; end; procedure TForm1.WMMove(var Msg: TWMMove); begin inherited; if (Visible) then FormResize(Self); end; procedure TForm1.Button1Click(Sender: TObject); begin Form2.Show; end; procedure TForm1.FormResize(Sender: TObject); begin with Form2 do begin Top := Form1.Top+38 ; Left :=Form1.Left+16; end; end; procedure TForm1.FormShow(Sender: TObject); begin Form2.Show; end; end. Подскажите пожалуйста на примере этого кода, как это можно сделать, если возможно вообще... Последний раз редактировалось werrey; 08.05.2011 в 14:21. |
08.05.2011, 18:59 | #15 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
1) если правельно понял то тебе нужно что бы при перемещение второй формы первая двигалась за ней, тогда просто добавь данные ресайз во вторую форму
|
08.05.2011, 19:11 | #16 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
Предлагаю еще такой вариант: Form2.Parent := Form1; Только в OnCreate это не пихайте.
Последний раз редактировалось eduard93; 08.05.2011 в 19:15. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi 7 Взаимное прилипание\отлипание форм в одном проекте | Dj_SheLL | Помощь студентам | 13 | 06.07.2015 17:52 |
Прилипание формы к ктоям десктопа про перетаскивании | Altera | Общие вопросы Delphi | 2 | 04.07.2008 00:38 |
Прилипание. | Черничный | Общие вопросы Delphi | 3 | 30.05.2008 15:49 |
Как разрешить Форме1 приём данных? | Rahim1993 | Общие вопросы Delphi | 12 | 19.01.2008 09:57 |