karlex писал(а):Show + vbModeless
Хакер писал(а):Указать владельца.
должна быть модальной, но "замораживать" главную форму не должна
Хакер писал(а):должна быть модальной, но "замораживать" главную форму не должна
Ты подбирай слова. Модальность как раз и заключается в «заморозке».
Хакер писал(а):Хотя, зачем тебе top-level ML ты можешь объяснить?
пользователь не мог получить доступ к главному окну, где всё равно, там ему делать нечего во время сохранения.
Хакер писал(а):А если по-русски?
Хакер писал(а):Если тебе нужен top-level ML, но c теми же спецэффектами, то вызывай с vbModelless, делая родителю .Enabled = False
Текстовые поля образуют таблицу, размером 6х8, таких таблиц на форме 70
Надесь, ясно объяснил?
Хакер писал(а):Текстовые поля образуют таблицу, размером 6х8, таких таблиц на форме 70
Хакер писал(а):То есть тебя тревожит, что твои события, которые производят процесс, не происходят, пока «горит» модальное окно, отображающее процесс?
Надеюсь, это поможет оценить масштаб ситуации?
Да
Хакер писал(а):И что тебе мешает делать все действия в модальной процедуре?
Хакер писал(а):Создавать 3700 окон, вместо того, чтобы юзать 1 грид — это настолько ламерство
Тот факт, что эта таблица находится в отдельном юзер-контроле, вместе с обслуживающими её поцедурами и функциями. После каждой 8-й записи генерируется событие Update, в котором и происходит обновление окна статистики сохранения. Но проблема в том, что этот контрол находится в немодальном окне.
Хакер писал(а):Вернее почему они происходят, когда открыто модальное окно прогресса сохранения?
Хакер писал(а):У тебя у UserControl-а должен быть интерфейс доступа к твои данным. Хороший, гибкий интерфейс. И ты из модального окна должен обратиться к этому контролу, к тому самому интерфейсу доступа к данным, и сохранить эти данные.
Хакер писал(а):Я бы использовал ListView в режиме Report. Я всегда его использую для всех гридов, дополняя недостающие возможности с помощью механизмов ListView, предусмотренных для этого.
Хакер писал(а):Что за глупость «для каждой». У тебя что, могут сразу все 48 ячеек одновременно редактироваться? Отображай комбо поверх ячейки, когда начинается её редактирование, и скрывай, когда заканчивается.
'Координаты размещения комбо (ось Y) в твипах. Срабатывает при условии, что высоты всех ячеек равны (а так оно и будет)
cmbCurrentLesson.Top = lvwLessons.Top + lvwLessons.SelectedItem.Top
Хакер писал(а):И, предполагось так же, что у тебя хватит догадливости положить TB внутрь LV. Но...
VBTerminator писал(а):Кстати, а не проще ли будет сделать, как я хотел первоначально: массив линий, лейблов для подписи заголовков столбцов и строк, только сейчас вместо кучи ComboBox'ов юзать кучу лейблов и один комбобокс, отображаемый напротив выделенного лейбла? Тогда мы при отлове кликов на лейблы в "ячейках" "таблицы" мы сможем получить номер "ячейки" и точно вычислить её координаты, чтобы над ней поместить комбобокс
Денис писал(а):Да не мучайся ты с этим лист-вью. Если уж ты подключаешь OCX так заюзай MSFlexGrid тогда. Комбобоксы тебе всё равно внешние понадобятся, но хоть внятные ячейки у тебя появятся. А не subitems.
Хакер писал(а):А рисовать всё это вместо использования кучи объектов что не позволяет?
Хакер писал(а):А SysHeader32 вместо самодельных заголовков колонок что мешает использовать?
Хакер писал(а):Откуда такая страсть к кривым решениям при наличии правильных?
VBTerminator писал(а):Как сделать окно, которое было бы поверх окон приложения (как модальное), но не приостанавливало выполнение кода немодальных форм? Просто мне нужно окно, в котором бы отображался прогресс выполнения некоторой операции.
Question: Проблема следующая — есть форма, которая открыта в модельном режиме. При выполнении определённых действий поверх неё должна появляться ворма с прогрессбаром. Проблема в следующем. Если прогресс-форму показывать немодальной, то среда не даст этого сделать (как известно, нельзя показать немодальную форму поверх модельной). Если же её делать модельной, то до её сокрытия останавливается выполнение кода . Как это можно обойти?
Private Sub CommandX_Click()
' Некоторые действия ДО...(modal)
Me.Caption = "Do some stuff"
Form2.Show vbModal, Form1
' Некоторые действия ПОСЛЕ...(modal)
Me.Caption = "Do some more stuff"
End Sub
Private WithEvents frm2 As Form
Private Sub CommandXX_Click()
' Некоторые действия ДО...(modal)
Me.Caption = "Do some stuff"
Set frm2 = Form2
frm2.Show vbModeless, Form1
End Sub
Private Sub frm2_Load()
Me.Enabled = False
End Sub
Private Sub frm2_Unload(Cancel As Integer)
Me.Enabled = True
Set frm2 = Nothing
' Некоторые действия ПОСЛЕ...(modal)
Me.Caption = "Do some more stuff"
End Sub
Сейчас этот форум просматривают: AhrefsBot и гости: 87