powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как 1С сделали свою форму в MDI интерфейсе?
23 сообщений из 23, страница 1 из 1
Как 1С сделали свою форму в MDI интерфейсе?
    #37602567
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Парни, подскажите, пожалуйста, как 1С сделала свою форму-дочку в MDI интерфейсе в версии 8.х (с её кнопками наверху и поведением - "развернутое" состояние хитрое ...)?
Я имею ввиду как это работает на уровне библиотек Windows API.
(У меня есть свои мысли на этот счет: либо создали свой класс формы вообще, либо просто используя готовые классы отрисовали так форму...)

Если есть у кого мысли? Заранее спасибо!
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37603204
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene Ostenbaken,

А скриншот можно? Не все работали в 1С, как им понять что вы хотите получить.
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37603451
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RedCatX,

Вот, пожалуйста...
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37603452
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RedCatX,

Вот, пожалуйста...
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37603591
мди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня нет установленной 1С можно было бы попытаться определить на чем написана 1С

но вообще MDI интерфейс существует в windows начиная с самой первой версии
есть он в WINAPI, MFC, .NET
думаю что 1С его и использовала зачем писать самому то что уже сделано
ведь это всего лишь поведение и оболочка для окон
внутри дочернего мди окна помещаем уже нужный нам контрол с тулбаром гридом и всем чем хотим
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37603610
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
мди,

ТС про кнопки дочернего окна.



судя по другому оформленю заголовка окна - это самостоятельная отрисовка.
на вскидку: панель с кнопками, картинкой и лейблом. ничего сложного.
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37603989
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мдиу меня нет установленной 1С можно было бы попытаться определить на чем написана 1С
На Visual C она написана. Я ковырялся немного в коде, мягко говоря, восторга не вызвало.

мдидумаю что 1С его и использовала зачем писать самому то что уже сделано
Ага. У них в классе "окно" был метод "нарисовать кнопку". Причём это имелся в виду обычный BitBtn.
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604034
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene Ostenbaken, думаю это обычное дочернее окно MDI с отключенными границами (в Delphi: Form.BorderStyle := bsNone). Заголовок окна, и функционал (перетаскивание, изменение размеров) реализован вручную.
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604096
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, парни, вопрос был именно про кнопки, а главное про поведение этой формы!

Ведь, если мы реализуем MDI хоть на Delphi, хоть на Visual Basic, хоть на самом WinAPI мы получим одну и туже картину:
При "развертывании" дочернего окна, оно заполняет всю рабочую область материнского окна. Заголовок (Caption) дочки при этом "сливается" с материнским. И получается, что если мы развернули одно окно, ТО И ВСЕ ДРУГИЕ ДОЧЕРНИЕ ОКНА ПРИНИМАЮТ ТАКОЙ ЖЕ ВИД! А в 1С такого не происходит (см.картинку).

Я тоже склоняюсь к мнению, что это просто отрисовка на имеющемся уже классе окна (WinAPI) с убиранием границ и размещением своих контролов ... и т.д.

Но может быть есть системщики, которые могут точно это сказать? И можно ли вообще, в принципе, написать свой класс окна?
Мне это важно!
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604162
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene OstenbakenА в 1С такого не происходит (см.картинку).
На картинке нарисовано то, что происходит с окном, если его просто положили в другое окно без всякого MDI.
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604239
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer,

Либо я чего-то не понимаю, либо смотрим ещё одну картинку! (Для тех кто ни разу не видел 1С:8.х)
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604253
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene OstenbakenЛибо я чего-то не понимаю, либо смотрим ещё одну картинку! (Для тех кто ни разу не видел 1С:8.х)
И что Вас в ней смущает? Window bar?
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604294
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я описАл проблему в начале топика и дполнил в 9-ом посте!
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604311
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И незачем так орать. Может, так Вам будет легче... (30 секунд возни)... посмотрите на картинку и назовите 10 отличий:
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604369
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
softwarerИ незачем так орать. Может, так Вам будет легче... (30 секунд возни)... посмотрите на картинку и назовите 10 отличий:

основное отличие видно невооруженным глазом - в 1С отсутствует единство темы :)
а значит отрисовкой заголовка окна они занимаются самостоятельно.
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604383
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseа значит отрисовкой заголовка окна они занимаются самостоятельно.
C этим никто не спорит. Я даже могу сказать, почему: потому что у используемых так окон есть глюки с активным/пассивным статусом (не помню уже, какие именно, тем более в разных версиях дельфы они были разные).
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604442
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
softwarerу используемых так окон есть глюки с активным/пассивным статусом с модальным. он слетает при enable/disable модальной формы.
но этот глюк был вообще, а не только при таком использовании. (с д1 по д7, вроде)
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604473
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer, Вы можете мне откомпилировать ваш пример и выслать мне (адрес в моем профиле). Наверное я что-то не понимаю...
Он же должен у меня запуститься? Дельфи у меня нет!

P.S. Я не орал! Просто так получилось! :)
P.P.S. Только запакуйте там как-нибудь, чтобы mail.ru пропустил.
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37604592
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseс модальным. он слетает при enable/disable модальной формы.
К отрисовке это отношения не имеет. Нет, я помню, приходилось самостоятельно вызывать правильный DrawCaption, потому как иначе там что-то было... то ли такое окно всегда рисовалось пассивным, то ли что-то в этом роде.
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37606684
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer,

Я не получил ехе-шника. Он не дошел или Вы не хотите, чтобы я увидел Ваше решение вопроса?!
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37609875
GFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene Ostenbaken,

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

http://www.sql.ru/forum/actualthread.aspx?tid=856953
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37657348
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за участие!
...
Рейтинг: 0 / 0
Как 1С сделали свою форму в MDI интерфейсе?
    #37666114
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы уверены, что это MDI окна, а не эмуляция. Вот пример компонентов для Lazarus (там MDI нет, тк их нет в Linux)
http://wiki.lazarus.freepascal.org/MultiDoc
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как 1С сделали свою форму в MDI интерфейсе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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