Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизApplication.CreateForm Найти похожие ветки
← →
Alexandr © (2004-07-12 14:03) [0]1)
есть форма.
Она используется двумя приложениями.
Но в одном приложении она fsMDIchild а в другом fsNormal
как это можно разрулить в коде?
Ну не хочет MDIChildForm создаваться есть нет MDIForm а MDIForm нету в том приложении. Там все формы MDINormal
2)
создается форма с помощью Application.CreateForm (а как еще по-другому создать главную форму?)
А если у меня эта класс этой формы не наследник Tform а наследник моего класса, который в свою очередь наследник Tform
и метод create не обычный
constructor Create(AOwner: TComponent);
а имеет еще несколько входных параметров? Как мне при этом задать эти параметры?
И еще раз, чтоб уж в одном месте было...
А как мне для создаваемой формы задать FormStyle программно, а не в дизайнере? (см. п.1)
← →
clickmaker © (2004-07-12 14:10) [1]1) Frame вместо формы
← →
Alexandr © (2004-07-12 14:16) [2]да, вариант.
А если все-таки форма?
Ведь не было ж раньше фреймов...
← →
Reindeer Moss Eater © (2004-07-12 14:18) [3]А как мне для создаваемой формы задать FormStyle программно, а не в дизайнере? (см. п.1)
Странный вопрос.
FormStyle это свойство. Для записи и для чтения.
← →
Alexandr © (2004-07-12 14:23) [4]смотрим хэлп
Note: It is not advisable to change FormStyle at runtime.
← →
Reindeer Moss Eater © (2004-07-12 14:24) [5]Ну тогда два DFM и условная компиляция в uses
← →
Alexandr © (2004-07-12 14:27) [6]у.....
это ж мне 2 dfm поддерживать...
Это тогда отпадает всякая польза от шаринга форм...
← →
Reindeer Moss Eater © (2004-07-12 14:29) [7]Тогда наследуйся от этой формы.
И измени свойство в наследнике
← →
Alexandr © (2004-07-12 14:32) [8]нука нука...
вот это уже поподробнее...
Это как? Это ж надо дизайнер как-то напрячь...
← →
Snip © (2004-07-12 14:39) [9]что тут напрягать, создаешь еще один экземпляр а предком делаешь ту форму.... меняешь FormStyle и все...
← →
Reindeer Moss Eater © (2004-07-12 14:41) [10]Одна форма fsNormal.
Делаем наследника в котором ничего не трогаем кроме FormStyle.
В одном проекте используем первую, а во втором вторую (не забыв добавить в uses первую)
← →
Reindeer Moss Eater © (2004-07-12 14:45) [11]Ну и кроме того, почему все же тебя испугала фраза It is not advisable ... ?
← →
Reindeer Moss Eater © (2004-07-12 14:47) [12]Тем более, что даже изменив свойство в DFM, реально свойство меняется в Loaded.
То есть в том же самом рантайме.
← →
Snip © (2004-07-12 14:48) [13]я думаю
> Note: It is not advisable to change FormStyle at runtime.
>
было написано из за того если форма уже живет, то конечно менять ее стиль будет конкретной ошибкой...
← →
Reindeer Moss Eater © (2004-07-12 14:50) [14]Если уж на то пошло, то начиная с некоторго времени вообще is not advisable создавать MDI приложения.
← →
Snip © (2004-07-12 14:51) [15]
> Если уж на то пошло, то начиная с некоторго времени вообще
> is not advisable создавать MDI приложения.
я тебя полностью поддерживаю... но некоторые люди познакомившиеся тока с MDI думают что это круто.... :))
← →
Alexandr © (2004-07-12 14:53) [16]
> Reindeer Moss Eater © (12.07.04 14:50) [14]
> Если уж на то пошло, то начиная с некоторго времени вообще
> is not advisable создавать MDI приложения.
о, а чего ж теперь вместо него?
Ладно. Наметки есть. Теперь буду пробовать...
← →
Alexandr © (2004-07-12 14:54) [17]не... я наоборот первый раз mdi использую, и подумал, что оно в этом приложении в тему.
Но еще не поздо передумать. :)
← →
Snip © (2004-07-12 14:54) [18]Вместо него SDI, это типа как делфя построена...
← →
Snip © (2004-07-12 14:55) [19]но интересно почему Delphi 8 сделана в стиле MDI?
← →
Reindeer Moss Eater © (2004-07-12 14:56) [20]Не надо бояться менять стиль на рантайме.
Хелп всего лишь не советует менять стиль во время работы приложения. То есть от случая когда одна и та же форма первые полчаса работы программы является fsMDIChild, а вторые fsNormal.
Это замечание касается интерфейса приложения, а не смены самого свойства .
← →
Alexandr © (2004-07-12 15:01) [21]так. Понятно. Хорошо.
Теперь будем думать.
Искать.
А SDI такой, как в delphi обычные юзеры могут не понять.
← →
Anatoly Podgoretsky © (2004-07-12 15:01) [22]Snip © (12.07.04 14:55) [19]
Это где ты там увидел MDI
← →
Alexandr © (2004-07-12 15:22) [23]так. Разобрался.
В dfm должно быть fsNormal иначе сразу при create форма будет visible. а так делать ненадо. Ибо негде писать код, который перед visible должен пройти.
После create меняем FormStyle на нужный.
Если нужный fsMDIChild то форма автоматически становится visible это правильно. Это нормально. На то она и fsMDiChild. А то, что надо сделать перед visible пишем перед FormStyle:=fsMDIChild
Если нужный dsNormal то как обычно. Сначала create потом ShowModal например.
Ладно это решили. Хорошо.
теперь вот это чего-то без внимания осталось в первоначальном вопросе.
создается форма с помощью Application.CreateForm (а как еще по-другому создать главную форму?)
А если у меня эта класс этой формы не наследник Tform а наследник моего класса, который в свою очередь наследник Tform
и метод create не обычный
constructor Create(AOwner: TComponent);
а имеет еще несколько входных параметров? Как мне при этом задать эти параметры?
← →
Snip © (2004-07-12 15:48) [24]а ну да перепутал в дельфях там плавающие панели сделано... извеняюсь за глупость....
Но тогда почему ворд и ексель делают мдайными? это что типа стиль?
← →
MadGhost © (2004-07-12 21:36) [25]начал писать программу как MDI ибо там много разных формочек открывать надобно было, посмотрел посмотрел я на это убожество, и отказался, посмотрел в сторону PageControl и его интерфейс как у мастеров. Все в одной форме :) тока вот убрать выпуклость PageControl"a :( но это уже совсем другая история
← →
Alexandr © (2004-07-13 07:45) [26]pagecontrol много ресурсов заберет.
Надо все равно динамически управлять контролами при переключении закладок.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.123 c