powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как форму сделать модальной?
6 сообщений из 6, страница 1 из 1
Как форму сделать модальной?
    #35370761
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как создать собственное модальное диалоговое окно? Чтобы оно возвращало какое-то значение
...
Рейтинг: 0 / 0
Как форму сделать модальной?
    #35370762
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там есть метод
form2.show 1
(1 == modal)
только как сделать так, чтобы form2 что-то вернула? Напр, содержимое строки text1
...
Рейтинг: 0 / 0
Как форму сделать модальной?
    #35370798
глоб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну дык запиши в глобальную переменную.
...
Рейтинг: 0 / 0
Как форму сделать модальной?
    #35371218
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глобну дык запиши в глобальную переменную.
нее, эт понятное дело. Но не структурный это подход) Это я так выкрутился из ситуации - записав в переменную. Вопрос в том - как написать свою функцию, подобную msgbox
msg = msgbox(P1,P2,P3..)
...
Рейтинг: 0 / 0
Как форму сделать модальной?
    #35371259
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форма есть класс. Напишите для него свои методы, свойства и события как для класса. Кстати, лучше писать не form2.show 1, а Form2.Show vbModal.
...
Рейтинг: 0 / 0
Как форму сделать модальной?
    #35371782
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Красивое решение получается когда вызов модальной формы делается как-то так:
Код: plaintext
Result = Form2.ShowDocument()
Для этого в этой (диалоговой) форме можно записать функцию так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Dim m_Result as Long  'фтопку глобальные переменные - обходимся только с локальными!

Public Function ShowDocument(ByVal Caption As String) As Long
   Me.Caption = Caption
   Me.Show vbModal     'Ниже этой строчки код пойдет только после выгрузки или сокрытия формы (нам нужно второе)
   ShowDocument = m_Result 'Т.к. до момента выгрузки формы, все переменные еще имеют значения
   Unload Me
End Function

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
   Cancel = Me.Visible  'Не позволяем бесконтрольно выгрузиться по нажатию на крестик в углу формы
   btnCancel_Click
End Sub

Private Sub btnCancel_Click()
   m_Result =  0 
   Me.Hide
End Sub

Private Sub btnOK_Click()
   m_Result =  12  'çàãëóøêà
   Me.Hide
End Sub
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как форму сделать модальной?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]