Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизDragDrop Найти похожие ветки
← →
ORMADA © (2005-06-07 07:29) [0]Доб день!
Столкнулся с такой проблемой если у компонента установлено свойство DragMode в мануал то при нажатии и удержании клавиши мыши срабатывает MouseUp сразу же
я делал так
procedure TForm1.Button2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
if Button = mbLeft then
TButton(Sender).BeginDrag(True);
----------------------
procedure TForm1.Button2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
caption := "MouseUp";
но если ставишь драгмоде в автомат этого события не происходит, почему ?
или как можно сделать чтоб моусАп не возникал при мануальнорм драг моде ?
← →
ORMADA © (2005-06-07 07:40) [1]сейчас исчо поймал 1 замечательную особенность
когда драг в автомате OnClick не срабатывает :(
← →
Digitman © (2005-06-07 08:34) [2]с какого перепугу grag-операция у тебя начинается сразу же при клике мыши ?
она должна начинаться при первом же OnMouseMove, если непосредственно перед ним было зафиксировано OnMouseDown
← →
ORMADA © (2005-06-07 08:40) [3]2 Digitman т.е. завести какую нить логическую переменную которую при OnMouseDown выставлять в True и потом проверять её в OnMouseMove ?
и уж потом только начинать драг ?
← →
Digitman © (2005-06-07 08:54) [4]
> ORMADA © (07.06.05 08:40) [3]
можно и так
← →
ORMADA © (2005-06-07 09:06) [5]2 Digitman
а по другому как можно сделать ?
как сделать чтоб можно было нормально таскать в ручном режиме (DragMode=manual) и в тоже время использовать OnClick для каких то действий и чтоб он не возникал во время начала переноса .......?
← →
novice_man © (2005-06-07 09:10) [6]Читаем HELP: (ничего что по английски?)
Set its DragMode to dmAutomatic. When DragMode is dmAutomatic, dragging (for drag-and-drop or docking, depending on DragKind) is initiated automatically when the user starts dragging the control with the mouse. When DragMode is dmManual, you can still begin a drag-and-dock (or drag-and-drop) operation by calling the BeginDrag method.
Если DragMode установлен как dmAutomatic тогда операция перетаскивания (for drag-and-drop or docking, depending on DragKind) начинается автоматически! Когда DragMode установлен как dmManual вы можете начать перетаскивание (drag-and-dock (or drag-and-drop)) вызвав метод BeginDrag.
Все :)
← →
novice_man © (2005-06-07 09:14) [7]Например для Memo:
procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Shift = [ssRight] then Memo1.BeginDrag(true);
end;
Только если при нажатой правой кноки мыши начать движение.
← →
ORMADA © (2005-06-07 09:16) [8]2 novice_man посмотри [2]
//сейчас исчо поймал 1 замечательную особенность
//когда драг в автомате OnClick не срабатывает :(
[1]
//при мануале при нажатии и удержании клавиши мыши срабатывает //MouseUp сразу же
← →
ORMADA © (2005-06-07 09:18) [9]2 novice_man
пример посмотри что я написал [1]
я хочу переносить левой кнопкой что и написано в примере
но одновременно я хочу и ловить клик когда кликнули по кнопке
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c