Страница: 1 | 2 | 3 |
Вопрос: Как отработать свертование формы
Добавлено: 01.09.10 13:17
Автор вопроса: pavel
Private Sub Form_Resize()
If pravila.Width = 0 Then GoTo conec
If pravila.Width < Screen.Width \ 2 Then
pravila.Width = Screen.Width \ 2
Exit Sub
End If
If pravila.Height < Screen.Height \ 2 Then
pravila.Height = Screen.Height \ 2
Exit Sub
End If
end sub
Сделал так чтоб пользователь не мог уменьшить форму меньше определенного размера
При свертовании формы выдает ошибку
Подскажите плиз ка обработать свертование чтоб не выдовало ошибки?
Ответы
Всего ответов: 37
Номер ответа: 1
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #1
Добавлено: 01.09.10 13:22
Номер ответа: 2
Автор ответа:
Eugy
Вопросов: 0
Ответов: 73
Профиль | | #2
Добавлено: 01.09.10 13:24
If WindowState = vbMinimized Then Exit Sub
А вообще правильнее обрабатывать WM_GETMINMAXINFO
Номер ответа: 3
Автор ответа:
AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #3
Добавлено: 01.09.10 14:54
можно в начале on error врубить
Номер ответа: 4
Автор ответа:
pavel
Вопросов: 8
Ответов: 32
Профиль | | #4
Добавлено: 01.09.10 22:55
If WindowState = vbMinimized Then Exit Sub
Большое спасибо
можно в начале on error врубить
зачем обработку ошибки делать
Номер ответа: 5
Автор ответа:
VbStarter
ICQ: 357911808
Вопросов: 118
Ответов: 1340
Web-сайт:
Профиль | | #5
Добавлено: 10.09.10 15:27
удобней
Номер ответа: 6
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #6
Добавлено: 10.09.10 15:43
GoTo conec
Еще раз увижу GoTo в коде - забаню навеки
Кури Макконнелла, он тебе все поведает.
Номер ответа: 7
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #7
Добавлено: 10.09.10 16:46
зачем обработку ошибки делать
Еще раз услышу про то что не надо делать обработку ошибку а юзать resume next вместо обработки - скажу патсанам чтоб аккаунт удалили!!
Номер ответа: 8
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #8
Добавлено: 10.09.10 17:11
Номер ответа: 9
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #9
Добавлено: 10.09.10 20:56
В XQR2 оператор On Error Resume Next был использован ровно 1909 раз. Я абсолютно серьезно, смекаешь?
Номер ответа: 10
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #10
Добавлено: 10.09.10 21:35
Ты считаешь это нормальным?
Лично для меня этот факт - лишнее доказательство кривизны рук, смекаешь?
Номер ответа: 11
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #11
Добавлено: 10.09.10 21:38
VBD ага, мы тут все смекаем насчет качества программирования
Executioner в этом языке обработку ошибок без goto не сделать же.
Номер ответа: 12
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #12
Добавлено: 10.09.10 23:24
Ты считаешь это нормальным?
Да
Лично для меня этот факт - лишнее доказательство кривизны рук, смекаешь?
Нет
VBD ага, мы тут все смекаем насчет качества программирования
Ну простейший пример: вася написал код ресайза, когда форма сворачивается, или ее размер становится меньше левой координаты какого-нибудь элемента с отступом, вылезает косяк. Вместо того, чтобы мутить кучу проверок размеров/свертывания/прочей херни, он просто сверху напишет "On Error Resume Next" и все. Или другой пример. Сохраняем настройки в файле. Если в файле каким-то образом неверное значение, при считывании которого возникает косяк, то это тоже решается On Error Resume Next. Читаем - хорошо, не читается - похер, идем дальше (остаются настройки по умолчанию). Или: есть поток, который постоянно рисует в битмап какую-нибудь херь (например, получает с устройства, и это я уже говорю про шарп, в котором OERN как раз не хватает), обрабатывает, делает что-то еще и пишет в файл. Так мне нужно везде писать всевозможные IsNull, проверять размеры, битность и прочую ботву. Если бы был сабж, то поставив его в четырех функциях, я бы сделал фактически то же самое, но в более удобной форме. Есть битмап - сиди работай, нет битмапа - не вылетай. Не при каких условиях. Ибо лучше уж оно подключит, чем вообще вылетит нахер. Не спорю, помогает он не везде, но вот в местах, где последствия того, что код отработал неправильно, не особо важны, он очень даже хорошо облегчает написание. Со стороны пользователя тоже все нормально: работает и работает, не вылетает. Смекаешь?
Номер ответа: 13
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #13
Добавлено: 11.09.10 00:06
Не согласен! В любой софтверной фирме, манагер проекта вот та за такое говно тебе бы руки оторвал и выгнал бы с проекта нахер, смекаешь?
У тебя с головой ваще как, порядок? Только отошли от этого дибилизма и тебе его не хватает? мда... вот она, тупиковая ветвь эволюции...
Ты ваще понимаешь суть обработки ошибок? В чем ее смысл?
Номер ответа: 14
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #14
Добавлено: 11.09.10 01:38
Полагаю, человек еще слишком молод и не вкуривает всей сути проблемы в силу возраста и неопытности. Эрос прав как 33 удава. В конторе, где я работаю - а это известная, пожалуй, во всем мире контора - даже за такие мысли бы выгнали. Да, это простое решение проблемы, но оно может вылезти огромными подводными граблями. Если бы такую херню бы разработали в нормальном языке, где нету встроенного хэндлера ошибок как в васике, все кончалось бы плачевно в 99 процентах случаев. Нет битмапа - фиг с ним, передадим нулевой указатель в АПИ. Рухнуло? Ой, блин...
Номер ответа: 15
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #15
Добавлено: 11.09.10 11:04
ну это типа как поворачивать на безлюдной улице без поворотников.. а вдруг кто то был и думал что ты поедешь прямо? Ой, бля...