Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

Как закрыть модальное окно?   Найти похожие ветки 

 
novill ©   (2006-12-26 13:47) [40]

> [39] PZ   (26.12.06 13:20)

как пробовал? кинь код. я не знаю, где и что ты еще успел перехватить


 
PZ   (2006-12-26 13:51) [41]

> [40] novill ©   (26.12.06 13:47)

procedure TForm1.Label1DblClick(Sender: TObject);
begin
 PostMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
end;


 
PZ   (2006-12-26 13:56) [42]

Т. е. у меня сейчас два обработчикка:

procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin
inherited;
if M.Result = htClient then M.Result := htCaption;
end;

procedure TForm1.Label1DblClick(Sender: TObject);
begin
PostMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
end;


 
novill ©   (2006-12-26 14:22) [43]

Учитывая
> Я, к сожалению, с собщениями Windows не очень в дружбе.

рекомендую воспользоваться обычными событиями, возььмите соседния пример в Дельфиворлд:

public
 { Public declarations }
 Draging: Boolean;
 X0, Y0: integer;



Draging - для обозначение того периода времени когда пользователь перемещает мышь с зажатой кнопкой мыши,
X0 и Y0 - координаты точки, над которой была зажата кнопка мыши
Далее описываем события формы OnMouseDown, OnMouseMove и OnMouseUp:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
 Draging := true;
 x0 := x;
 y0 := y;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
 Draging := false;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
 if Draging = true then
 begin
   Form1.Left := Form1.Left + X - X0;
   Form1.top := Form1.top + Y - Y0;
 end;
end;



тогда у вас ничего не будет перехватыватсья лишнего


 
novill ©   (2006-12-26 14:33) [44]

естесственно события вешать на события не на формы, а лейбла.


 
PZ   (2006-12-26 14:46) [45]

> [43] novill ©   (26.12.06 14:22)

Как обычно, все гениальное просто!
Нормально работает.
Смутила меня эта процедура Орлика для перемещения окна без заголовка. Почему-то я думал, что без нее ни чем сдвинуть с места окно невозможно.

Спасибо, novill, еще раз спасибо всем-всем, принимавшим участие в обсуждении.
С уважением, PZ.

С наступающим Новым Годом!


 
PZ   (2006-12-26 14:48) [46]

> [44] novill ©   (26.12.06 14:33)

Да, естественно. Я так и сделал



Страницы: 1 2 вся ветка

Текущий архив: 2007.01.14;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.047 c
15-1167038945
WondeRu
2006-12-25 12:29
2007.01.14
В среду сдал на сертификат Microsoft


9-1141072759
Slava_K
2006-02-27 23:39
2007.01.14
Движение объектов


2-1167111400
4ert
2006-12-26 08:36
2007.01.14
Pointer


8-1148145044
Efir
2006-05-20 21:10
2007.01.14
Работа с палитрой в Delphi


9-1141303775
Sco
2006-03-02 15:49
2007.01.14
ИИ для шахмат