![]() |
![]() |
Agrimony 21.09.2004 - 12:59 |
Требуется, чтобы перед запуском приложения запрашивался login и пароль пользователя. Должно появляться окно для ввода имени и пароля, это окно должно обязательно отображаться в панеле задач. Пользователю должно быть запрещено изменение размеров окна. После ввода login'а данное окно должно замениться на окно приложения. Окно приложения обязательно должно содержать все три ControlBox. Окно приложения должно позволять пользователю изменять его размеры. Как это сделать на VB 6.0 ? Когда делаю login-окно как модальное (.Show vbModal в Load окна приложения), само окно не видно в панели задач - это не удобно для пользователя. Если делать вывод модального окна по тайлеру, а окно приложения сворачиваю на время, login-окно не всегда Enabled(хотя Enabled = true;может какие-то баги VB). Хотел было сделать одно окно(сначало Login, затем использовать его как основное окно приложения - не получается управлять свойствами MinButton, MaxButton и BorderStyle). Кто делал подобное на VB - подскажите вариант. |
Agrimony 1 - 21.09.2004 - 13:25 | Ну что. Ни кто не сталкивался с подобным. |
Agrimony 2 - 21.09.2004 - 14:05 |
Нашел одно решение. Может кому-нибудь пригодится. Во-первых, совсем отказался от модальных форм(какие-то они глючные в VB 6.0 - например без таймера не вызвать контекстное меню). Во-вторых сделал так. После нажатия на Ok(ввод параметров пользователя) в случае успешного login'а в обработчике кнопки Ok для стартовой (login) формы Me.Enabled = False и Me.Visible = False , для формы приложения - .Show (не модально). В обработчик Unload формы приложения - Unload LoginForm . Это одно из решений(работает). На мой взгляд оно корявое. Кто-нибудь знает , как программно(может через API) изменять MinButton, MaxButton и BorderStyle . Вроде, можно исп. GetWindowLong и SetWindowLong (ни когда не использовал). |
techwriter 3 - 21.09.2004 - 16:18 |
Для Login формы установи свойтво ControlBox в False. А после положительной идентификации вызывай основное окно - Form2.Show Нафига тебе АПИ, может чет недопонял - извини. |
Agrimony 4 - 21.09.2004 - 16:23 | Так а Login форму как спрятать ? |
FWP 5 - 22.09.2004 - 08:05 |
"Ну что. Ни кто не сталкивался с подобным." С задачей сталкивался. С VB не сталкивался:-) |
TUT 6 - 22.09.2004 - 09:11 |
Во-вторых сделал так. После нажатия на Ok(ввод параметров пользователя) в случае успешного login'а в обработчике кнопки Ok для стартовой (login) формы Me.Enabled = False и Me.Visible = False , для формы приложения - .Show (не модально). -------------------------------- Жуть какая Бррр (((((….. Смотри – Запускаешь приложение главное, до отображения окна с управлением выводишь ОКНО LOGIN, дальше все, как по расписанию, если отказ то – завершение приложения, если пароль – повторите ввод пароля, ЕСЛИ пароль успешен, то завершаем работу с диалогом и продолжаем выполнение главной программы которую прервали выполнение. ***************************************** Давным давно были проблемы прервать выполнение программы, короче окно главной программы отображалось а поверх форма Пароль- тогда я просто сделал, смещал главную форму за пределы видимости экрана, если пароль верен перемещал на место ))))). Удачи. |
techwriter 7 - 22.09.2004 - 17:33 |
Создате две формы: Form1 и Form2. 1. Form1 - Форма запроса пароля. Сделайте на ней текстбокс – text1 и конопку – command1 Установите свойства Формы1: controlbox – false borderstyle – 1. fixed single Код: Dim password As String, userinput As String Private Sub Form_Load() password = "12345" End Sub Private Sub Command1_Click() userinput = Trim(Text1.Text) If userinput = password Then Form2.Show Unload Me Else q = MsgBox("Не верный пароль", , "зы-зы") End End If End Su Вроде то, что Вам нужно. Ну и еще свойство формы ShowInTaskBar – true/false если нужно. |