Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
3-1145517957
Pavor
2006-04-20 11:25
2006.06.11
Добавление записи: Unknown Internal System Error


3-1145358293
S{NIK}
2006-04-18 15:04
2006.06.11
большой SQL запрос


15-1148043039
Nikolga
2006-05-19 16:50
2006.06.11
Ищем программиста Delphi


2-1148505785
lstalkerl
2006-05-25 01:23
2006.06.11
Обращение к переменной из другой формы


15-1147962627
ArtemESC
2006-05-18 18:30
2006.06.11
Как узнать существует ли почта, связанная с данным Mail ом?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский