Delphi, MDI по сравнению с Вкладками для многодокументного интерфейса

Это действительно зависит от того, что делается..., строки недостаточно, если каждая отдельная строка не занимает то же количество времени.

лучший способ (если бы Ваши строки не подобны) состоял бы в том, чтобы, вероятно, посмотреть на логические разделы кода, узнают, сколько времени каждый раздел берет в среднем, затем используйте те средние синхронизации для оценки прогресса.

7
задан mghie 23 September 2009 в 03:53
поделиться

4 ответа

MDI был разработан еще во времена Windows 3 (или, возможно, раньше?) И в настоящее время не поддерживается. Если вам нужно несколько документов с разными формами, я бы рекомендовал использовать интерфейс с вкладками. Используйте рамки вместо форм, создайте новые вкладки и поместите на них рамку, выровненную по alClient.

9
ответ дан 6 December 2019 в 06:24
поделиться

Чтобы избежать анимации изменения размера (и, следовательно, задержки) новых дочерних окон MDI, отправьте сообщение WM_SETREDRAW в свойство ClientHandle родительского TForm перед созданием дочерних окон, а затем отправьте его снова, когда вы выполнены, то есть:

Self.Perform(WM_SETREDRAW, False, 0);
... create child windows as needed ...
Self.Perform(WM_SETREDRAW, True, 0);
Windows.InvalidateRect(Self.ClientHandle, nil, True);
Windows.UpdateWindow(Self.ClientHandle);
11
ответ дан 6 December 2019 в 06:24
поделиться

Вопрос: важно ли, чтобы пользователи могли видеть более одной из ваших встроенных форм или фреймов одновременно? Если нет, обязательно перейдите на вкладки.

Вкладки упрощают навигацию и просмотр имеющихся у вас возможностей. Но со стандартным PageControl вы можете видеть только одну вкладку за раз - здесь нет «мозаики» или «каскадирования». Проблемы начинаются, например, когда пользователям нужно перетаскивать вещи с одной вкладки на другую. Это, конечно, можно сделать, но это не так удобно, потому что на этот раз пользователи не видят, куда они что-то перетаскивают.

Чтобы преодолеть это ограничение, вам придется взглянуть на интерфейс стыковки, который добавляет сложности, но мог дать вам вкладки, а также иметь возможность размещать их мозаикой.

3
ответ дан 6 December 2019 в 06:24
поделиться

Определенно, у MDI больше отрицательных моментов, чем у того, который вы цитируете. Вы можете найти обсуждение этого в Википедии, а также в Руководстве по интерфейсу Windows. MDI не рекомендуется использовать уже много лет. Сама Microsoft больше не использует MDI в его «стандартной» форме для любых своих больших приложений, они часто предоставляют просто эмуляцию MDI вместе с другими стилями пользовательского интерфейса.

Если ваша программа предназначена для пользователей с несколькими экранами, как MDI, так и у пользовательского интерфейса на основе вкладок есть проблема ограничения окон документа внутри родительского окна.

При правильном дизайне приложения вам действительно не нужно выбирать между MDI и пользовательским интерфейсом на основе вкладок. Позвольте вашим пользователям решать, какой интерфейс им удобнее всего и который лучше всего соответствует их стилю работы. Разрешить также несколько независимых окон документов верхнего уровня (в одном экземпляре приложения или в нескольких). Это может быть так же просто, как создание классов фреймов для ваших документов и решение во время выполнения, встраивать ли их в элемент управления вкладкой, в дочернее окно MDI или в окно верхнего уровня.

5
ответ дан 6 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: