Фиксированые размеры формы.

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

Фиксированые размеры формы.

Сообщение DiSe » 13.08.2003 (Ср) 15:04

Имеется код:
Код: Выделить всё
MinH =2000
MinW = 3000
Private Sub Form_Resize()
  If Form1.Height < MinH Then Form1.Height = MinH
  If Form1.Width < MinW Then Form1.Width = MinW
End Sub

---
Этот отрывок кода происходит при изменении размеров формы. Но при этом форма "моргает". Во всех приложениях такого нет. Значит я неправильно делаю. Тогда как?

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 13.08.2003 (Ср) 19:11

Ты должен создать субкласс.... Знаеш, у каждого (почти) окна есть своя оконная процедура...
Именно в ней ты и должен менять размер окна поскольку ето происходит перед событием Resize) :!:
Dmitrich

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 14.08.2003 (Чт) 7:55

Есть такое сообщение Windows - WM_GETMINMAXINFO, - которое и отвечает за отсутствие "моргания" при изменении размеров окна. Его нужно отлавливать при помощи субклассинга и обрабатывать.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

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

Сообщение GSerg » 14.08.2003 (Чт) 8:22

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

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 23.12.2003 (Вт) 13:40

Dmitriy2003 писал(а):Ты должен создать субкласс.... Знаеш, у каждого (почти) окна есть своя оконная процедура...
Именно в ней ты и должен менять размер окна поскольку ето происходит перед событием Resize) :!:


Да только вот как создать этот субкласс, может подскажите, то эта проблема с размрами окна уже принадела.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList