Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.033 c
14-1089028108
syte_ser78
2004-07-05 15:48
2004.07.25
Что такое DNS ?


14-1088712128
Юрий Федоров
2004-07-02 00:02
2004.07.25
Вакансия для СисАдмина в Москве


4-1087209443
stas
2004-06-14 14:37
2004.07.25
Распределение прав доступа в NT


1-1089622430
pavel_pavel
2004-07-12 12:53
2004.07.25
Копирование объектов


14-1089175737
Kerk
2004-07-07 08:48
2004.07.25
Про комбобоксы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский