Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как сделать сетку для елементов DragAndDrop? Добавлено: 23.05.08 18:35  

Автор вопроса:  Mc.WOLF
Как сделать сетку для елементов DragAndDrop (типа как в WindowsXP рабочий стол!)

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 23.05.08 18:39
Ещё новичек. :)

Сетку на чём делаем? На форме? В PictureBox-е?

Где илиМЕНТы размещать собрался?

Поподробней, поподробней, не надо стесняться :)

Ответить

Номер ответа: 2
Автор ответа:
 Mc.WOLF



Вопросов: 26
Ответов: 84
 Профиль | | #2 Добавлено: 23.05.08 18:55
Можна и "На форме" и "в PictureBox-е" было-б лучше если на форме!

Я хочу сделаьть что-б иконки (как на рабочем столе) стояли красиво!

Ака в Windows "Упорядочить значки" ---> "Выровнять по сетке"

Ответить

Номер ответа: 3
Автор ответа:
 Mc.WOLF



Вопросов: 26
Ответов: 84
 Профиль | | #3 Добавлено: 23.05.08 22:56
Можна и "На форме" и "в PictureBox-е" было-б лучше если на форме!

Я хочу сделаьть что-б иконки (как на рабочем столе) стояли красиво!

Как в Windows "Упорядочить значки" ---> "Выровнять по сетке"

Ответить

Номер ответа: 4
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #4
Добавлено: 23.05.08 23:44
А сейчас они есть, но стоят некрасиво?

Ответить

Номер ответа: 5
Автор ответа:
 Игорь



ICQ: 457394129 

Вопросов: 52
Ответов: 133
 Профиль | | #5 Добавлено: 24.05.08 08:10
Это нужно на месте смотреть, когда отпускать будешь где-нибудь "схваченую" иконку, то там нужно вычислить к какому столбцу иконка ближе упала на тот её и переместить, так же и для строк. В итоге получится что картинка упала куда попало, но тутже притянулась в нужное место. Как в XP =)

Ответить

Номер ответа: 6
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 24.05.08 13:16
Запихни на форму PictureBox с именем ico
Поставь ему Index = 0
Option Explicit
Private DX As Single, DY As Single
Private Arrange As Boolean
Const SIZE = 48

Private Sub Form_Load()
    Dim i As Integer
    Randomize
    ScaleMode = 3
    AutoRedraw = True
    ico(0).ScaleMode = 3
    ico(0).AutoRedraw = True
    'Сетка
    For i = SIZE To ScaleWidth Step SIZE
        Line (i, 0)-(i, ScaleHeight)
    Next i
    For i = SIZE To ScaleHeight Step SIZE
        Line (0, i)-(ScaleWidth, i)
    Next i
    'Загржаем значки
    ico(0).Move Int(Rnd * ScaleWidth), Int(Rnd * ScaleHeight), SIZE, SIZE
    ico(0).BackColor = &H80C0FF
    ico(0).Print 0
    For i = 1 To 9
        Load ico(i)
        ico(i).Visible = True
        ico(i).Print i
        ico(i).Move Int(Rnd * (ScaleWidth - SIZE)), Int(Rnd * (ScaleHeight - SIZE))
    Next i
    'Упорядочивание = FALSE
    Arrange = False
    Caption = "Упорядочивание = " & Arrange & " (Щелкните по форме для изменения)"
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Arrange = Not Arrange
    Caption = "Упорядочивание = " & Arrange
    If Arrange Then Call ArrangeIcons
End Sub

Private Sub ico_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Not Button = vbLeftButton Then Exit Sub
    ;DX = X
    ;DY = Y
End Sub

Private Sub ico_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Not Button = vbLeftButton Then Exit Sub
    ico(Index).Move ico(Index).Left + X - DX, ico(Index).Top + Y - DY
End Sub

Private Sub ico_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Not Arrange Then Exit Sub
    ico(Index).Move ((ico(Index).Left + X) \ SIZE) * SIZE, _
                    ;((ico(Index).Top + Y) \ SIZE) * SIZE
End Sub

Private Sub ArrangeIcons()
    Dim i As Integer
    For i = 0 To 9
        ico(i).Move ((ico(i).Left + ico(i).Width \ 2) \ SIZE) * SIZE, _
                    ;((ico(i).Top + ico(i).Height \ 2) \ SIZE) * SIZE
    Next i
End Sub

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 24.05.08 15:04
Попробуй LVS_EX_SNAPTOGRID

Ответить

Номер ответа: 8
Автор ответа:
 Mc.WOLF



Вопросов: 26
Ответов: 84
 Профиль | | #8 Добавлено: 25.05.08 12:43
[/Спасибки ребя ВСЕМ что помогли!!! Очень выручили!!!u]
:-)))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам