powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / поведение немодальных окон как в 1С
12 сообщений из 37, страница 2 из 2
поведение немодальных окон как в 1С
    #40109448
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bzums
Как интересно будет вести себя Showmodal?

Никто не мешает попробовать. Ну либо посмотреть в исходник Showmodal-а, и исходя из этого предсказать.

P.S. Подозреваю - плохо. Думаю, он заблокирует все остальные окна, включая главное, и в результате интерфейс намертво залипнет, так как модальное окно станет недоступным из-за недоступности родителя. Впрочем, можно поставить на главном окне примерно такой обработчик:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
type
  TFormBaseDebug = class(TDCFBaseForm)
    ...
    { Чихаем на попытки всяких ShowModal-ов нас заблокировать }
    procedure WmEnable(var Msg: TWMEnable); message WM_ENABLE;
    ...
  end;

{ Чихаем на попытки всяких ShowModal-ов нас заблокировать }
procedure TFormBaseDebug.WmEnable(var Msg: TWMEnable);
begin
  inherited;
  if not Msg.Enabled then EnableWindow(Self.Handle, true);
end;


и всё станет нормально, я так думаю.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109466
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
А потенциально , если возьму этот вариант на вооружение, с чем у меня могут быть проблемы?
Требования только два - главная форма и окна в ней все дочерние, но не МДИ.
Формы могут быть как те, что только один экземпляр ( справочники), так и допускающие многие экземпляры ( например по каждому виду документа ; расходная ведомость, приходная ).


Большое спасибо.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109468
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, пришла в голову мысль прятать заголовок формы при разворачивании на весь экран через bsNone. Это можно так реализовать?
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109569
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DHDD,

О как :) Не знал что оно так умеет.
авторЧестно говоря, никогда не понимал полезности этих операций, но вот уж что делается за пять минут, так это как раз эти убер-фичи.
Так то всё можно сделать, вопросов нет. Но если оно так и так умеет, то зачем возится. А с меню, как уже сказали VCL разбирается.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109581
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon
Но если оно так и так умеет, то зачем возится

Затем, что реализация MDI в дельфе имеет кучу врождённых недостатков, и пользоваться ей - удовольствие для свежепрочитавших "освой за 21 день". Потом хочется более вменяемого поведения.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109670
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer

Затем, что реализация MDI в дельфе имеет кучу врождённых недостатков
Хочется более вменяемого поведения


Напишите мне, пожалуйста, про эти недостатки.
О чём идёт разговор? Очень надо.
Спасибо большое.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109862
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bzums,

то ли мне повезло, то ли я на их пока не попадал. главный и единственный из известных - что MDI форма может существовать только одна. хотя на уровне операционки этого запрета не существует.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109900
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bzums
Напишите мне, пожалуйста, про эти недостатки. О чём идёт разговор? Очень надо.

Я уже плохо помню, потому что отказался от MDI где-то с 99-го года. Первый и наиболее очевидный - уже упоминавшийся идиотизм, согласно которому mdi-ное окно всегда и сразу видимо. В результате приходится ставить ему FormStyle = fsNormal и делать fsMDIChild там, где хочешь, чтобы окно стало видимым. Насколько я помню, mdi-ное окно не могло иметь собственного main menu, надо было имитировать его через тулбары. Насколько я помню, были проблемы с вызовом клавиатурных action-ов - возможно, в случае, если открыты несколько однотипных окон. Итд.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109931
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть у меня программка на д7+мди
работает уже лет 18, с декабря 2003-его. Раз в год пересобираю, добавляю какую-нить фигню
юзеры не нудят
но одна такая. Была вторая, со временем умерла
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40109984
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Провел тест
В принципе то что нужно.
Одно но - при сворачивании вниз и изменении размеров главной формы в большую сторону, эти свернутые формы висят на том же месте (куда были первоначально свернуты).
Стандартного варианта, например, закладок или ленты какой-то внизу не нашел.
Некрасиво.

Спасибо.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40110365
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, как сделать, чтобы главная форма сама отрисовывала скроллбары, если дочерняя выходит за ее границы.
Если у дочерней формы родитель - главная форма, то все нормально.
У меня же на клавной форме еще панель / лист / сроллбокс (пока не выбрал), если я дочернюю двигаю за пределы, ничего не происходит до тех пор, пока я у родителя вручную не поменяю размеры.

СПасибо.
...
Рейтинг: 0 / 0
поведение немодальных окон как в 1С
    #40112978
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bzums,

Хотя никто мне и не дал совета, я так и не пробовал решить эту проблему.

Возник вопрос, который можно наверное в этой же ветке и опубликовать.

А для МДИ формы нельзя провернуть такой фокус - кинуть например панель на задний план? Или любой другой контрол. Получается, форма перерисовывается принудительно и всегда то, что должно какбы по задумке на фоне, оно как раз сверху. То есть дочерние формы получаются под панелью.

Это как так?

Хочу на главной форме, например, кнопки ьыстрог доступа или виджет...

Спасибо.
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / поведение немодальных окон как в 1С
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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