- Код: Выделить всё
If Me.IsModal Then ....
If Me.IsModal Then ....
GSerg писал(а):Хотелось бы узнать, что после then...
If Me.IsModal Then
' Результат выбора пользователя запомнить в
' (глобальной) переменной
Unload Me ' Закрыть модальную форму
Else
FrmParent.OnChoice ' Прямо отсюда сообщить о событии родителю
' ... и остаться работать
End If
Dim vMode as FormShowConstants
Public sub ShowForm(Mode as FormShowConstants)
vMode = Mode
Me.Show Mode
End Sub
Понятно. Ну, способов сохранить эту информацию самому - куча. Можно и внутри формы иметь такую переменную-флаг. Я думал есть что-то более естественное.Antonariy писал(а):Бывает такая необходимость.
Проще всего открывать такую форму через публичную процедуру.
Сейчас только проверил.alibek писал(а):Наверное, можно стиль окна получить и по нему смотреть.
GetWindowLong(Me.hWnd, GWL_STYLE)
GetWindowLong(Me.hWnd, GWL_EXSTYLE)
Dim x As New frmForm
Private Sub cmdShowModal_Click()
x.Tag = "Modal"
x.Show vbModal
End Sub
Private Sub cmdShowNonModal_Click()
x.Tag = "Modeless"
x.Show vbModeless
End Sub
Private Sub Form_Load()
Load x
End Sub
Private Sub Form_Click()
MsgBox Me.Tag
End Sub
MSDN писал(а):modal
Describes a window or dialog box that requires the user to take some action before the focus can switch to another form or dialog box.
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 6