Текущий архив: 2005.07.25;
Скачать: CL | DM;
Вниз
Как двигать обьекты? Найти похожие ветки
← →
Brack (2005-07-02 20:35) [0]Можно ли перемещать обьект(к примеру Label) в ходе работы программы, изменив при этом определенные свойства?
← →
begin...end © (2005-07-02 21:07) [1]Можно. См. в справке описание класса TControl: свойств Left и Top, а также метода SetBounds.
← →
lookin © (2005-07-02 21:09) [2]А какие свойства?
← →
isasa © (2005-07-02 22:35) [3]Таскать форму за метку?
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
----------
Shift: TShiftState; X, Y: Integer);
const SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
Form1.perform(WM_SysCommand, SC_DragMove, 0);
end;
Для панели (suPanel) соответственноprocedure TForm1.suPanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
suPanel.Perform(WM_SYSCOMMAND, $F012, 0);
end;
← →
isasa © (2005-07-02 22:39) [4]Да!
Свойство, suPanel должно бытьDragMode:=dmManual
← →
isasa © (2005-07-02 22:41) [5]Да! :))))
OnMouseDown:=TForm1.suPanelMouseDown
← →
Brack (2005-07-05 00:03) [6]Вот сам решил эту задачку, оказалось все просто:
MouseMove(Shift: TShiftState; X, Y: Integer);
begin
if MDownPl=True then
begin
GetCursorPos(p);
otklX:=p.X-Left;
otklY:=p.y-top;
MDownPl:=False;
end;
if MDown=True then
begin
GetCursorPos(p);
Left:=p.X-otklX;
Top:=p.Y-otklY;
end;
end;
MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y:Integer);
begin
MDown:=True;
MDownPl:=True;
end;
MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y:Integer);
begin
MDown:=False;
end;
Страницы: 1 вся ветка
Текущий архив: 2005.07.25;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.011 c