Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
HotKitten
-
- Дятил
-
-
- Сообщения: 400
- Зарегистрирован: 24.01.2005 (Пн) 21:48
- Откуда: из дома
-
HotKitten » 16.06.2005 (Чт) 23:36
а как сделать привязку формы к краям экрана, как у winamp'a
-
GM
-
- programador
-
-
- Сообщения: 1427
- Зарегистрирован: 24.06.2003 (Вт) 15:56
- Откуда: 194.67.52.100
-
GM » 17.06.2005 (Пт) 7:20
Лови WM_Move, и если me.left < 0 или me.top < 0me.left + me.width > screen.width или me.top + me.height > screen.height возращай false, или что-то в этом роде. Ты это имееш ввиду ?
الفيجوال بيسك الرابح
-
Andrey Fedorov
-
- Член-корреспондент академии VBStreets
-
-
- Сообщения: 3287
- Зарегистрирован: 21.05.2004 (Пт) 9:28
- Откуда: Москва
Andrey Fedorov » 17.06.2005 (Пт) 8:29
GM писал(а):Лови WM_Move, и если me.left < 0 или me.top < 0me.left + me.width > screen.width или me.top + me.height > screen.height возращай false, или что-то в этом роде. Ты это имееш ввиду ?
Похоже примерно это.
Обычно еще небольшой скачок делают - такой эффектик прилипания к краю экрана. Вообще нечто подобное делал давно, когда игрался, - обошелся тогда безо всякого API. Вот, нашел свой древний примерчик в интернете:
http://www.vbnet.ru/samples/zip/afclock.zip
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...
-
Alexander N. Samarin
-
- Постоялец
-
-
- Сообщения: 397
- Зарегистрирован: 05.03.2005 (Сб) 20:59
- Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине
-
Alexander N. Samarin » 17.06.2005 (Пт) 10:26
Где-то я это уже постал ........
На это не смотрите! Это не подпись!!!!!!
-
HotKitten
-
- Дятил
-
-
- Сообщения: 400
- Зарегистрирован: 24.01.2005 (Пн) 21:48
- Откуда: из дома
-
HotKitten » 18.06.2005 (Сб) 1:01
me.left < 0 или me.top < 0 - понятно
а вот me.left + me.width > screen.width или me.top + me.height > screen.height писать так же как и в первом случае? а то с screen.width я еще не сталкивался
Andrey Fedorov в твоём примерчике конечно красивые часики, но привязка мне там не понравилась - нельзя двигать форму по краю экрана
-
GM
-
- programador
-
-
- Сообщения: 1427
- Зарегистрирован: 24.06.2003 (Вт) 15:56
- Откуда: 194.67.52.100
-
GM » 18.06.2005 (Сб) 7:55
Да так же, в вб есть глобальный объект Screen. И у него есть свои свойства и методы, одно из свойств Width. Так что пиши просто Screen.Width.
الفيجوال بيسك الرابح
-
HotKitten
-
- Дятил
-
-
- Сообщения: 400
- Зарегистрирован: 24.01.2005 (Пн) 21:48
- Откуда: из дома
-
HotKitten » 19.06.2005 (Вс) 12:42
НЕТ ВСЁ ТАКИ НЕ ПОНЯЛ, МОЖНО ЧУТЬ - ЧУТЬ ПОПОДРОБНЕЕ
- Код: Выделить всё
Dim cx As Single, cy As Single, dx As Single, dy As Single
Dim bDrag As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
bDrag = True
dx = X: dy = Y: cx = Me.Left: cy = Me.Top
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If bDrag Then
cx = cx + X - dx: cy = cy + Y - dy
Me.Move cx, cy
End If
If Me.Left < 0 Then bDrag = False '''''''''''''''Чё то я не то сделал
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
bDrag = False
End Sub
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot и гости: 185