|
Платные хостинги
Раскрутка сайта
Книги по программированию
Перетаскивание объектов по форме, ... как? У меня они "морозятся"
- Покажи код
- // Перед глазами его у меня нет(я не дома). Поэтому воспроизвожу по памяти.OnMouseDownbegin dx:=x-label1.left; dy:=y-label1.top;end;OnMouseMovebegin label1.left:=x+dx; label1.top:=y+dy;end;OnMouseUpbegin label1.left:=x+dx; label1.top:=y+dy;end;// dx,dy - глобальные переменные. Они запоминают местоположение курсора на объекте.
- Загляни на всякий случай в наш FAQ - там эта проблема решается совсем по другому и работать будет правильно.
- procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);constSC_DRAGMOVE = $F012;beginReleaseCapture;Label1.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);end;[Оригинальный текст] Это сообщение отредактировал <Spawn> - 22.3.2003, 01:03
- Вы хоть сами-то пробовали этот код!?Насколько я знаю виндовые сообщения могут получать только наследники TWinControl.А поскольку TLabel ни каким образом не связать с TWinControl, то этот метод с ним не работает!!!Нужно использовать метод, например отсюда http://forum.vingrad.ru/index.php?act=ST&f=2&t=7345, описанный Snick_Y2K:Код procedure TEditZag.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin Moving:=True;end;procedure TEditZag.Panel1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin Moving := False;end;procedure TEditZag.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin if Moving = True then begin Panel1.Left:=Panel1.Left + X; Panel1.Top:=Panel1.Top + Y; end;end;highlightSyntax('delphikMTNhZ','delphi');
- Пробовал и все отлично работает.
- Хоть убейте, но у меня в Д6 с TLabel - Label1.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0)!С наследниками TWinControl - Panel, RichEdit... всЁ работает.
- Продолжаем разговор.Хотелось бы всЁ-таки выяснить по поводу моего предыдущего поста!!
- Это моя ошибка)) Работает со всеми объектами, имеющиме Handle, т.е наследниками TWinControl. А TLabel это наследник от TGraphicControl. Я просто сам проверял это только с TButton. Это сообщение отредактировал <Spawn> - 1.4.2003, 19:57
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|