Form_Resize()

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Form_Resize()

Сообщение KDima » 27.02.2005 (Вс) 16:20

Private Sub Form_Resize()
Picture.Move 0, 28, Me.Width / Screen.TwipsPerPixelX - GetSystemMetrics(SM_CXDLGFRAME) * 2 - 2, Me.Height / Screen.TwipsPerPixelY - brStatus.Height - GetSystemMetrics(SM_CYMENU)
End Sub


Изображение

Чё деалю неправильно?
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.02.2005 (Вс) 16:24

Прочитав подпись Тёмыча, спрошу: что получить-то хочешь? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 27.02.2005 (Вс) 16:28

Пикчура заезжает под статусбар!
А вычитание РНД намберов из размеров ваще "супер"
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 27.02.2005 (Вс) 16:46

KDima, что-то ты замутил...
а так не хочешь... :?

Private Sub Form_Resize()
Picture1.Top = Toolbar1.Height
Picture1.Left = 0
Picture1.Width = Form1.ScaleWidth
Picture1.Height = Form1.ScaleHeight - StatusBar1.Height - Toolbar1.Height
End Sub

Все растягивается и ничего и никуда не залезает... :wink: вроде бы... :?

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 27.02.2005 (Вс) 17:04

Мдя... работает...

[quote]picVisual1.Move 0, 28, Me.ScaleWidth, Me.ScaleHeight - brStatus.Height - 28[quote]

Даже так...

Сенкс!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 28.02.2005 (Пн) 21:13

Но с константами поосторожнее, я однажды тоже так сделал, а на другом компьютере все перекосило.
Замени 28 на высоту контрола

и метод Move быстрее чем смена каждого размера

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 01.03.2005 (Вт) 4:48

Serega.I писал(а):и метод Move быстрее чем смена каждого размера

Фишку недавно нашёл: для ComboBox Style=1 'Simple Combo метод Move возвращает ошибку, хотя задание Height и Width работает. Будем считать багом VB? :-)
Изображение

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 01.03.2005 (Вт) 16:31

tyomitch писал(а):
Serega.I писал(а):и метод Move быстрее чем смена каждого размера

Фишку недавно нашёл: для ComboBox Style=1 'Simple Combo метод Move возвращает ошибку, хотя задание Height и Width работает. Будем считать багом VB? :-)


Ты про
Код: Выделить всё
Run-time error '383':

Свойство 'Height' только для чтения
:?:
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 01.03.2005 (Вт) 19:44

Да, про него. При этом присваивание напрямую Height проходит нормально.
Изображение

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 01.03.2005 (Вт) 19:55

Ха! Я тоже нашёл баг...
при добавлении манифеста пропертис высоты Toolbar'a не изменяется, а кнопки уменьшаются!

Вопрос:
Как прервать ресайзинг формы?
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 01.03.2005 (Вт) 20:01

Это не баг, это просто "нехватка функциональности". Не забывай, что в 1998 г. манифестов не было.


Ресайзинг формы прерывается сабклассингом WM_WINDOWPOSCHANGING.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Majestic-12 [Bot], SemrushBot, Yandex-бот и гости: 113

    TopList