Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Drag&Drop 
V
    Опции темы
Moppuk
Дата 2.2.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



Проблема такая... Хелп.
На форме есть Frame1. На него перетаскиваются картинки из listview...
Надо как-то сделать, чтобы эти картинки модно было продолжать перетаскивать на Frame1.
Программирую недавно. Запутался во всем. Ole, Drag, Drop, MouseUp, Down... Помогите плиз разобраться.
Если можно с примерами кода.
PM MAIL   Вверх
amt
Дата 3.2.2006, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



Если мне не изменяет память то Frame выступает в роли контейнера. Таким образом чтобы картинку перемещать во фрейме она должна быть там изначально создана. По-моему так. А если ты создаешь объект на форме , а не на фрейме, то он привязывается именно к форме. Следовательно, либо надо отказаться от фрейма или сделать ее на всю форму и картинку изначально создавать на ней.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Moppuk
Дата 4.2.2006, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



Ок, откажусь я от фрайма не вопрос.
Но проблема стоит та же... Как по форме таскать картинки (как на рабочем столе ярлыки).
Я что-то читал про MouseUp и Down но вот как это воплотить реально не понимаю и не могу разобраться.
Кто знает прошу помощи. Лучьше кодом...
Пример Form1
pic1
pic2
Можно их загрузать в Imageview чтобы у нее появился так называемый ключ...
Короче какие-нибудь варианты. Буду очень признателен... У кого какаие вопросы, тоже спрашивайте чем смогу, обязательно помогу!!!
PM MAIL   Вверх
amt
Дата 5.2.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



Под рукой исходника нет, но все достаточно просто.
Почитай здесь

--------------------------
События MouseDown и MouseUp
Если требуется более детальный анализ нажатия кнопки мыши, то следует
обрабатывать отдельно нажатие и отпускание кнопки мыши. После нажатия
кнопки мыши на активном элементе управления генерируется событие
MouseDown. При этом процедуре обработки этого события передаются четыре
параметра: Button, Shift, x и Y. Событие MouseUp функционирует аналогично
MouseDown, но наступает при отпускании кнопки мыши.
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single) Select Case
Button Case vbLeftButton
MsgBox "Нажата левая кнопка" Case
vbRightButton
MsgBox "Нажата правая кнопка" Case
vbMiddleButton
MsgBox "Нажата средняя кнопка" End
Select End Sub
Параметр Button определяет состояние кнопки мыши. Он может
принимать одно из следующих значений: vbLeftButton, vbRightButton или,
если имеется третья кнопка мыши, vbMiddleButton. Параметр Shift
позволяет определить, были ли нажаты клавиши [Shift] (vbShiftMask), [Ctrl]
(vbCtrlMask) и [Alt] (vbAltZMask) при нажатии или отпускании кнопки мыши.
Переменные X и Y содержат значения координат текущей позиции курсора
мыши на элементе управления.
Событие MouseMove
При перемещении мыши наступает множество событий MouseMove.
Процедуре обработки этого события передаются такие же переменные, как и
при обработке событий MouseUp и MouseDown. Аргумент Button позволяет
определить, какая кнопка мыши была нажата не только при обработке событий
MouseUp и MouseDown, но и при обработке события MouseMove. Таким образом,
можно узнать была ли нажата кнопка во время перемещения мыши.
Обрабатывая события MouseUp, MouseZDown и MouseMove, можно создать
простейшую программу рисования.
При нажатии левой кнопки мыши с помощью метода PSet ставится точка в
том месте формы, в котором в данный момент находится указатель мыши.
После этого курсор принимает форму перекрестия:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y
As Single)
If Button = vbLeftButton Then
Formi.MousePointer = vbCrosshair Forrol.PSet
(X,Y) End If End Sub
При перемещении мыши наступает последовательно несколько событий
MouseZMove. Если при перемещении была нажата левая кнопка мыши, то точки,
в которых эти события произошли, соединяются линией с помощью метода Line:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single) If Button = vbLeftButton Then
Forml.Line Z (X, Y) End If
End Sub
При отпускании кнопки мыши курсор принимает первоначальный вид:
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Formi.MousePointer = vbDefault End Sub
Этот небольшой пример демонстрирует возможности использования
событий мыши.
Последовательность событий
Последовательность генерации событий мыши зависит от типа
элемента управления, для которого эти события генерируются. Например,
для элементов управления ListBox и commandButton события наступают в
следующем порядке: MouseDown, Click, MouseZUp. Для FileListBox, Label или
PictureBox события наступают в другой последовательности: MouseDown,
MouseUp, Click. При двойном щелчке события происходят в
последовательности: MouseDown, MouseUp, Click, DblClick, MouseUp.

Тебе нужно обрабатывать три события MouseDown, MouseUp, MouseMove

--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
cardinal
Дата 5.2.2006, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



amt, используй в следующий раз теги для кода плиз, даже если код находится в цитируемом тексте...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
amt
Дата 5.2.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



Прости, торопился.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Moppuk
Дата 7.2.2006, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



Спасибо ребята. Разобрался! Всем спасибо!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.