![]() |
|
Модераторы: Akina |
![]()
|
|
| Moppuk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.2.2006 Репутация: нет Всего: нет |
Проблема такая... Хелп.
На форме есть Frame1. На него перетаскиваются картинки из listview... Надо как-то сделать, чтобы эти картинки модно было продолжать перетаскивать на Frame1. Программирую недавно. Запутался во всем. Ole, Drag, Drop, MouseUp, Down... Помогите плиз разобраться. Если можно с примерами кода. |
|||
|
||||
| amt |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 26.10.2004 Где: г. Волгоград Репутация: 3 Всего: 3 |
Если мне не изменяет память то Frame выступает в роли контейнера. Таким образом чтобы картинку перемещать во фрейме она должна быть там изначально создана. По-моему так. А если ты создаешь объект на форме , а не на фрейме, то он привязывается именно к форме. Следовательно, либо надо отказаться от фрейма или сделать ее на всю форму и картинку изначально создавать на ней.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций. |
|||
|
||||
| Moppuk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.2.2006 Репутация: нет Всего: нет |
Ок, откажусь я от фрайма не вопрос.
Но проблема стоит та же... Как по форме таскать картинки (как на рабочем столе ярлыки). Я что-то читал про MouseUp и Down но вот как это воплотить реально не понимаю и не могу разобраться. Кто знает прошу помощи. Лучьше кодом... Пример Form1 pic1 pic2 Можно их загрузать в Imageview чтобы у нее появился так называемый ключ... Короче какие-нибудь варианты. Буду очень признателен... У кого какаие вопросы, тоже спрашивайте чем смогу, обязательно помогу!!! |
|||
|
||||
| amt |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 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 --------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций. |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
amt, используй в следующий раз теги для кода плиз, даже если код находится в цитируемом тексте...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| amt |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 26.10.2004 Где: г. Волгоград Репутация: 3 Всего: 3 |
Прости, торопился.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций. |
|||
|
||||
| Moppuk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.2.2006 Репутация: нет Всего: нет |
Спасибо ребята. Разобрался! Всем спасибо!!!
|
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |