Текущий архив: 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.047 c