Главная страница
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.043 c
15-1166888396
BanserAnt
2006-12-23 18:39
2007.01.14
Winsock2


3-1161759493
Kolan
2006-10-25 10:58
2007.01.14
Как скопировать БД.


2-1166430158
Любитель
2006-12-18 11:22
2007.01.14
Как можно показать n кнопок на панеле


2-1167119206
Johny
2006-12-26 10:46
2007.01.14
DOS - приложения


15-1166209801
menart
2006-12-15 22:10
2007.01.14
Линия тренда и получение формулы