Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизПеретаскивание формы Найти похожие ветки
← →
Juice © (2006-05-23 20:30) [0]Какое событие возникает когда перетаскивается форма?
← →
Loginov Dmitry © (2006-05-23 20:53) [1]WM_MOVE
← →
Juice © (2006-05-23 21:05) [2]А в событиях формы такого нет?
← →
Gydvin © (2006-05-23 21:19) [3]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
private
Procedure Mymove(var msg: TMessage); Message WM_MOVE;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.Mymove(var msg: TMessage);
begin
showmessage("dddd");
end;
end.
← →
Juice © (2006-05-23 21:29) [4]Я получаю это событие только тогда когда отпускаю кнопку и передвижение уже закончено. А надо обрабатывать сам процесс перемещения.
← →
Gydvin © (2006-05-23 21:31) [5]
> Я получаю это событие только тогда когда отпускаю кнопку
> и передвижение уже закончено. А надо обрабатывать сам процесс
> перемещения.
Ошибаетесь!!!!procedure TForm1.Mymove(var msg: TMessage);
begin
memo1.Lines.Add(inttostr(memo1.Lines.Count))
end;
← →
Juice © (2006-05-23 21:38) [6]Нашел, Moving называется, но все равно не то. Лучше я от задачи вопрос поставлю : есть форма что лежит на другой форме (Parent) и надо чтобы при перемещении дочерней формы она прилипала к краям формы-владельца. Вот для левой стороны пишу типа того:
procedure TInternalForm.OnMove(var msg: TMessage);
begin
if Self.Left<50 then Self.Left:=0;
end;
И это срабатывает, т.е. после того как пользователь отпускает кнопку форма становится в нужное положение. Но хотелось бы, чтобы при перемещении (кнопка в нажатом положении) юзер видел что форма будет пристыкована, что она примет не ту позицию где он ее отпустит а выровняется по 0. Впрочем, обычный элемент интерфейса любой нормальной программы а как реализовать не знаю.
← →
Juice © (2006-05-23 21:44) [7]
> Ошибаетесь!!!!
>
> procedure TForm1.Mymove(var msg: TMessage);
> begin
>
> memo1.Lines.Add(inttostr(memo1.Lines.Count))
> end;
Фишка в том что у меня не стоит в настройках системы "отображать содержимое окна при перетаскивании". Если его включить то все ОК, форма после присвоения ей Left:=0 сразу прыгает на 0 и можешь перетаскивать себе дальше. А когда эта штука отключена то при перетаскивании отображается рамка, а окно стоит на месте, и только после отпускания кнопки окно перемещается туда где рамка и возникает событие Move. Как заставить эту рамку показаться где надо?
← →
Juice © (2006-05-23 21:46) [8]...или может быть можно как-то сделать так, чтобы "отображать содержимое окна при перетаскивании" в моем приложении было всегда? Бред конечно, но мало ли ...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c