Страница: 1 |
Вопрос: Как сделать сетку для елементов DragAndDrop? | Добавлено: 23.05.08 18:35 |
Автор вопроса: ![]() |
Как сделать сетку для елементов DragAndDrop (типа как в WindowsXP рабочий стол!) |
Ответы | Всего ответов: 8 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: adamis@list.ru Вопросов: 153 Ответов: 3632 |
Профиль | Цитата | #1 | Добавлено: 23.05.08 18:39 |
Ещё новичек. ![]() Сетку на чём делаем? На форме? В PictureBox-е? Где илиМЕНТы размещать собрался? Поподробней, поподробней, не надо стесняться ![]() |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 26 Ответов: 84 |
Профиль | Цитата | #2 | Добавлено: 23.05.08 18:55 |
Можна и "На форме" и "в PictureBox-е" было-б лучше если на форме!
Я хочу сделаьть что-б иконки (как на рабочем столе) стояли красиво! Ака в Windows "Упорядочить значки" ---> "Выровнять по сетке" |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 26 Ответов: 84 |
Профиль | Цитата | #3 | Добавлено: 23.05.08 22:56 |
Можна и "На форме" и "в PictureBox-е" было-б лучше если на форме!
Я хочу сделаьть что-б иконки (как на рабочем столе) стояли красиво! Как в Windows "Упорядочить значки" ---> "Выровнять по сетке" |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 23.05.08 23:44 |
А сейчас они есть, но стоят некрасиво? |
Номер ответа: 5 Автор ответа: ![]() ![]() ICQ: 457394129 Вопросов: 52 Ответов: 133 |
Профиль | Цитата | #5 | Добавлено: 24.05.08 08:10 |
Это нужно на месте смотреть, когда отпускать будешь где-нибудь "схваченую" иконку, то там нужно вычислить к какому столбцу иконка ближе упала на тот её и переместить, так же и для строк. В итоге получится что картинка упала куда попало, но тутже притянулась в нужное место. Как в XP ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #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 ![]() ![]() 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, _ ![]() 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, _ ![]() Next i End Sub |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 24.05.08 15:04 |
Попробуй LVS_EX_SNAPTOGRID |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 26 Ответов: 84 |
Профиль | Цитата | #8 | Добавлено: 25.05.08 12:43 |
[/Спасибки ребя ВСЕМ что помогли!!! Очень выручили!!!u]
![]() |
Страница: 1 |
|