Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 8

Методы программируемого перетаскивания

07.06.2013, 16:51. Показов 1606. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие:
Разработать приложение, работа которого давала бы представление об особенностях использования значений параметра State события DragOver. Форма приложения на этапе разработки приведена на рисунке 5а (на форме расположены по одному объекты классов: CommandButton, TextBox, Frame). Вид формы работающего приложения в момент нажатия клавиши мыши показан на рисунке 5б, выход объекта перетаскивания за пределы рамки вызывает появление соответствующего сообщения в текстовом поле (см. рис. 5в).
Предусмотрите возможность бросания кнопки в любом месте рамки, формы (см. рис. 5г).
(продолжение на картинке)
P.S В архиве то как я решал задачу, но она не работает, работает только когда ты перетаскиваешь не саму кнопку, а как бы её рамку. Помогите пожалуйста разобраться
Миниатюры
Методы программируемого перетаскивания  
Вложения
Тип файла: rar Задание1.rar (84.9 Кб, 7 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.06.2013, 16:51
Ответы с готовыми решениями:

Метод программируемого перетаскивания
Хотелось бы узнать о нем, в частности, для компонента Label. Ссылки с понятными примерами приветствуются, но желательно простейший пример...

Составить программу расчёта величины программируемого урожая (ц/га) по формуле
Программа должна быть написана в двух вариантах: 1)использовать For ... To.. Step, Next 2) использовать IF... GO TO Составить...

Как после перетаскивания файлов из Эксплорера в мою форму узнать их пути?
Подскажите, как после перетаскивания файлов из Эксплорера в мою форму узнать их пути? Что-то я сам не догнал. Спасибо!

5
374 / 12 / 3
Регистрация: 07.12.2012
Сообщений: 169
07.06.2013, 19:12
в архиве чуть другой метод.

можно обойтись без кода,тогда при перемешении будет иконка, а когда отпустишь то оригинал.
а именно dragmod=автоматик
dragicon= ставишь иконку
1
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 8
07.06.2013, 19:52  [ТС]
Но мне нужно чтобы использовался именно параметр State события DragOver
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 8
07.06.2013, 22:54  [ТС]
Всё разобрался я наконец-то с программой:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
If TypeOf Source Is CommandButton Then 'опрееляем тип перетаскиваемого объекта
Source.Move X, Y 'перетаскиваем сам объект
End If
End Sub
 
'нужно что бы было можно перетаскивать и во фрейм
Private Sub Frame1_Dragdrop(Source As Control, X As Single, Y As Single)
If TypeOf Source Is CommandButton Then
Source.Move X, Y
End If
End Sub
 
'Если объект(кнопка)покидает форму(т.е заходит во фрейм, то значит обхект в рамке и наоборот
Private Sub Form_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
If State = vbLeave Then
Command1.Picture = LoadPicture(App.Path & "\Картинки\smail).ico")
Text1.Text = "Объект в рамке"
Else
Command1.Picture = LoadPicture(App.Path & "\Картинки\smail(.ico")
Text1.Text = "Объект не в рамке"
End If
End Sub
Вложения
Тип файла: rar Задание1.rar (46.3 Кб, 7 просмотров)
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
07.06.2013, 23:37
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Option Explicit
Dim Bad As StdPicture, Good As StdPicture, Norm As StdPicture
Private Sub cmdSource_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
    cmdSource.Visible = False
End Sub
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
    cmdSource.Move X, Y
    Set cmdSource.Picture = Bad
    cmdSource.Visible = True
End Sub
Private Sub Form_Load()
    Set Bad = LoadPicture(App.Path & "\SmileBad.ico")
    Set Good = LoadPicture(App.Path & "\SmileGood.ico")
    Set Norm = LoadPicture(App.Path & "\SmileNorm.ico")
    Set cmdSource.Picture = Good
    Set cmdSource.DragIcon = Good
    txtState = "Объект в рамке"
End Sub
Private Sub Frame_DragDrop(Source As Control, X As Single, Y As Single)
    cmdSource.Move X, Y
    cmdSource.Visible = True
    Set cmdSource.Picture = Good
End Sub
Private Sub Frame_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
    cmdSource.Visible = False
    Select Case State
    Case 2: Set cmdSource.DragIcon = Good: txtState = "Объект в рамке"
    Case 1: Set cmdSource.DragIcon = Bad: txtState = "Объект покинул рамку"
    End Select
End Sub
Вложения
Тип файла: rar DragOver.rar (19.6 Кб, 13 просмотров)
2
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 8
08.06.2013, 16:20  [ТС]
The trick, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.06.2013, 16:20
Помогаю со студенческими работами здесь

Питание программируемого МК от USB
Есть USB программатор (аналог того, что у ДиХалта на сайте описан), есть схемка с потредлением до 40мА. И таких "схемок" очень...

Область перетаскивания
Сразу извиняюсь что столько вопросов и тем) но учусь... 1)Как реализовать область перетаскивания обьекта равную с экраном? У меня...

Запрет перетаскивания формы
Поможите решить проблемку: Как запретить пользователю таскать форму (окно) с помощью мышки. Думал что это есть в свойствах формы но там...

Перетаскивания элементов listBox1
Подскажите как реализовать перетаскивания (мышкой) элементов внутри listbox?

Перетаскивания вкладок в TabControle
(WPF) Собственно вопрос, может кто-нить делал, разбирался в вопросе перетаскивания вкладок в TabControle. Пример - вкладки в Chrome...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru