Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.048 c
1-1118183356
Gopher
2005-06-08 02:29
2005.06.29
Обращение к реестру


1-1117624080
Anics
2005-06-01 15:08
2005.06.29
Как отловить событие внутри родительской формы MDI приложен


14-1116820938
Alex Konshin
2005-05-23 08:02
2005.06.29
ICQ клиент


10-1094708761
serg128
2004-09-09 09:46
2005.06.29
Как построить график в Excel?


3-1116476386
dreamse
2005-05-19 08:19
2005.06.29
Какой коммандой удалить базу из SQL сервера ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский