Visual Basic, .NET, ASP, VBA, VBScript
 
  Библиотека кодов  
  DragDrop  
     
  Drag&Drop - контролы  
        Сначала создаем новый проект. На форме надо разместить 2 PictureBox. Один назовем ImgFolder, DragMode установим равным 0-manual, ну и в свойство Picture иконку папки впихнем. Второму PictureBox присвоим имя ImgTrash и в свойство назначим иконку корзины. У обоих PictureBox установите свойства AutoSize = True и BorderStyle = 0 - None.
        Ну а теперь самое главное - Код !!!
'Инициализация
Const EmptyTrash = "Waste.ico"
Const FullTrash = "Recyfull.ico"
Dim MouseX, MouseY As Single
Dim IsTrash As Boolean
Dim Path As String
Option Explicit
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
'Окончание перетаскивания (с учетом поправки)
Source.Move (X - MouseX), (Y - MouseY)
End Sub
Private Sub Form_Load()
IsTrash = False
'Путь к иконкам можно задать по умолчанию:
'Path = "C:\Program Files\Microsoft Visual Studio"
'Path = Path & "\Common\Graphics\Icons\win95\"
'Но это не удобно и не у каждого юзера Visual Studio установлен
End Sub
Private Sub imgFolder_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'если нажата левая кнопка, то начинается перетаскивание
If Button = vbLeftButton Then
Call imgFolder.Drag(vbBeginDrag)
MouseX = X 'Показываем координаты на указателе мыши
MouseY = Y
End If
End Sub
Private Sub imgTrash_DblClick()
'Извлечение папки из корзины
imgFolder.Visible = True
IsTrash = True
'Задаем изображение пустой корзины
imgTrash.Picture = LoadPicture(Path & EmptyTrash)
End Sub
Private Sub imgTrash_DragDrop(Source As Control, X As Single, Y As Single)
Source.Visible = False 'конец перетаскивания папки в корзину
IsTrash = True
imgTrash.Picture = LoadPicture(Path & FullTrash) 'задаем изображение полной корзины
End Sub

Ловиков Миха

 
     
  VBNet online (всего: 51586)  
 

Логин:

Пароль:

Регистрация, забыли пароль?


В чате сейчас человек
 
     
  VBNet рекомендует  
   
     
  Лучшие материалы  
 
ActiveX контролы (112)
Hitman74_Library (36119)
WindowsXPControls (20739)
FlexGridPlus (19374)
DSMAniGifControl (18295)
FreeButton (15157)
Примеры кода (546)
Parol (18027)
Passworder (9299)
Screen saver (7654)
Kerish AI (5817)
Folder_L (5768)
Статьи по VB (136)
Мое второе впечатление... (11236)
VB .NET: дорога в будущее (11161)
Основы SQL (9225)
Сообщения Windows в Vi... (8788)
Классовая теория прогр... (8619)
 
     
Техническая поддержка MTW-хостинг | © Copyright 2002-2011 VBNet.RU | Пишите нам