Главная страница
    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.051 c
4-1115325557
Кайфолом
2005-05-06 00:39
2005.06.29
Как обработать системные кнопки формы ?


6-1112032939
Nes
2005-03-28 22:02
2005.06.29
* HTTP Tunneling? Бред или...


1-1118207429
Fanny
2005-06-08 09:10
2005.06.29
Как определить, что принтер не установлен ?


14-1117471924
Cerberus
2005-05-30 20:52
2005.06.29
Новый значёк


1-1118040713
Кирилл
2005-06-06 10:51
2005.06.29
Процедура





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский