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

Вниз

ReleaseCapture   Найти похожие ветки 

 
LigthStone   (2007-03-02 15:21) [0]

Здравствуйте, у меня возникла одна станная проблемка в Delphi.
Если написать у Image при событии OnMouseDown ReleaseCapture;,
то событие OnMouseUp почему-то не работает.

Пример кода:

procedure TfrmMain.ResizeMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
 begin
if (ssleft in shift)
Begin ReleaseCapture; Perform(WM_SysCommand, $F008, 0);end;
end;

procedure TfrmMain.ResizeMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
{Не работает любой код}
end;

Не могли бы вы подсказать как это исправить.:)

Заранее благодарен за ответы.


 
easy ©   (2007-03-02 16:02) [1]

 private
   { Private declarations }
   pt:TPoint;

//*****************************

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 pt.X:=X;
 pt.Y:=Y;
 Caption:="Begin resize.";
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if (ssleft in shift) then begin
   Width:= Width-(pt.X-X);
   Height:= Height-(pt.Y-Y);
 end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 Caption:="Congratulation!";
end;


 
sniknik ©   (2007-03-02 16:14) [2]

procedure TfrmMain.ResizeMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (ssleft in shift)
Begin ReleaseCapture; Perform(WM_SysCommand, $F008, 0);ResizeMouseUp(...)end;
end;


 
LigthStone   (2007-03-02 16:31) [3]

easy то что ты предложил конечно будет работать, но в моём варианте меньше писанины.

sniknik как ни старнно, но твой вариант работает.

P.S. Спасибо всем.



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
15-1172505169
Cyrax
2007-02-26 18:52
2007.03.25
partial в C#


1-1170022420
San1
2007-01-29 01:13
2007.03.25
при работе с динамическим массивом ошибка EInvalidPoint


1-1170057522
tytus
2007-01-29 10:58
2007.03.25
FastReport4 - как группировать по нескольким полям?


2-1172731272
roman_ln
2007-03-01 09:41
2007.03.25
Защита программ и данных с использованием электронных ключей.


4-1162809133
Avokain
2006-11-06 13:32
2007.03.25
Посылка текста в активное окно(Edit) другого приложения