Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ReleaseCapture


LigthStone ©   (2007-03-02 15:21:00) 

Здравствуйте, у меня возникла одна станная проблемка в 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;

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

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


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

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

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

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


sniknik   (2007-03-02 16:14:00) [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;


easy   (2007-03-02 16:02:00) [3]

 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо