Страница 1 из 1

Несколько вопросов по работе с формами

СообщениеДобавлено: 15.07.2009 09:10:51
bloodlines
1) Как установить запрет изменения размера формы в runtime? В Delphi, например, за это отвечает свойство BorderStyle (bsSingle).
2) В моём проекте несколько форм. Я хочу, чтобы при выполнение некоторых действий одна форма сворачивалась и появлялась другая. В Delphi достаточно вызвать метод Hide одной формы и Show другой. В MSE так не получается. Подскажите как быть в данной ситуации?

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 15.07.2009 12:56:46
debi12345
1) Как установить запрет изменения размера формы в runtime? В Delphi, например, за это отвечает свойство BorderStyle (bsSingle).

Одинаковые "form.bounds.cx_min/max".

2) В моём проекте несколько форм. Я хочу, чтобы при выполнение некоторых действий одна форма сворачивалась и появлялась другая. В Delphi достаточно вызвать метод Hide одной формы и Show другой. В MSE так не получается. Подскажите как быть в данной ситуации?

"form_to_hide.hide" & "form_to_show.show(true)".

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 15.07.2009 13:11:15
bloodlines
Одинаковые "form.bounds.cx_min/max".
- Всё гениальное - просто!

Спасибо большое! Очень помогло!

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 17.07.2009 15:08:23
amateur
Одинаковые "form.bounds.cx_min/max".

Спасибо большое! Очень помогло!

:mrgreen:
попробуйте это в винде :) оочень удивиться мона....
Оссобенно если сделать двайной клац на title (все ограничения исчезают (зачем оини вообще нужны?)) И мартин грит: это не баг, так и должно быть. Но самое интересное: если протестить поведение окна в иде, а потом на сделаной проге...

Кстати: где в винде можна изменить тему??? (знаю дурной вопрос но, судя по ответам Мартина, это просто - как в лине). Просто я хочу в винде увидеть диалоговое окно (а его в винде оказывается просто нет, а вот в лине есть)... Кроме диалогов интересуют другие вкусности (которые есть в лине но не в винде).
Так что ограничивай окно в размерах, не ограничивай делай (не делай) диалог, винда этого не покажет, просто она не поддерживает. :twisted:
И книги ложь писали - те что я читал (о стилях окон в винде)... Злости нет, просто пОлное офанарение.

Добавлено спустя 26 минут 51 секунду:
А если попробывать сделать это:
Код: Выделить всё
  With mainfo do begin
    bounds_x := 0;
    bounds_y := 0;
  end;


совсем смешно (в винде).

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 09.12.2010 14:23:57
Dmitriy_86
Здравствуйте,у меня такой вопрос.В проекте имеются форма авторизации и основная форма(является mdi-формой).На основной форме имеется кнопка "Перейти на форму авторизации(при этом основная форма должна закрываться)".После нажатия этой кнопки должна загружаться форма авторизации, и при нажатии на кнопку "Авторизация" форма авторизации закрывается и загружается основная форма.При этом тип пользователи правильно не определяется(сохраняются настройки для предыдущего пользователя и не меняются).При повторном нажатии на кнопку "Перейти на форму авторизации" основная форма становится неактивной,хотя она активна(она не отоброжается просто) и проект приходится заново запускать.Кнопка "Перейти на форму авторизации" имеет статус modalresult=mr_ok.
Как мне сделать,чтобы при нажатии на кнопку "Перейти на форму авторизации" основная форма всегда закрывалась и всегда загружалась форма авторизации,а при последующей авторизации тип пользователи правильно определялся?
Спасибо!

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 10.12.2010 09:35:43
debi12345
amateur писал(а):
О
Dmitriy_86 писал(а):Как мне сделать,чтобы при нажатии на кнопку "Перейти на форму авторизации" основная форма всегда закрывалась и всегда загружалась форма авторизации,а при последующей авторизации тип пользователи правильно определялся?
Спасибо!

Ну, из своего опыта с логин-формами:

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

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

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 20.12.2010 16:13:38
Dmitriy_86
Не могли привести пример кода,который прячет форму методом hide?

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 20.12.2010 16:38:08
stikriz
Насчет сохранения размеров в Windows можно почитать тут:
http://www.stikriz.narod.ru/art/savefrm.htm
Нужно использовать procedure _WM_GETMINMAXINFO(var mmInfo : TWMGETMINMAXINFO); message wm_GetMinMaxInfo;
amateur писал(а):Так что ограничивай окно в размерах, не ограничивай делай (не делай) диалог, винда этого не покажет, просто она не поддерживает. :twisted:

Поддерживает, просто ни Дельфи, ни Лазарус не поддерживают создание диалога. Посмотрите как создается окно. В винде - как создается хандл.

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 20.12.2010 19:07:39
debi12345
Dmitriy_86 писал(а):Не могли привести пример кода,который прячет форму методом hide?

Сейчас (уже несколько дней) связка FPC+MDE конкретно но моей рабочей машине поломалась - программы слетают на старте отладки, поэтому типа "отдыхаю". Не помогла даже переустановка Выни.
Попробуйте "form.Show(false)"

Добавлено спустя 5 часов 32 минуты 37 секунд:
Мартин пишет видимо о случае изначально спрятанной основной формы :
Код: Выделить всё
On designtime disable form.options fo_main, set form.visible to false.

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 21.12.2010 18:42:03
amateur
17.07.2009 13:08:23
может заметите: когда это было написано.
Немного полазив в мсе, поизвращался и ... Время течет все меняется. Вот и мсе по формам меня вполне устраивает. Только устраивает сейчас а не тогда. В тот момент мсе не правильно реагировал при установке form.bounds.cx_min/max.

debi12345 - слетело в винде ??? У меня были слеты (по вине старого фпс (2.4.0) или более нового (2.5.1)). Хотя, намедни, произошел странный глюк: мсе не находил модули. (на ноуте) А вот на компе, при одинаковых настройках фпс и мсе находил.

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 21.12.2010 19:06:36
debi12345
amateur писал(а):debi12345 - слетело в винде ??? У меня были слеты (по вине старого фпс (2.4.0) или более нового (2.5.1)). Хотя, намедни, произошел странный глюк: мсе не находил модули. (на ноуте) А вот на компе, при одинаковых настройках фпс и мсе находил.

У меня выровнялось на версии фпц 2.4.2 с инсталлятора и ПЕРУСТАНОВЛЕННОЙ (всего месяц прошел, млын!) гэйм-шеллке. фпц 2.4.3 упорно не хочет, что странно - товарищ я вроде опытный, все 100 раз перепроверил и пересобрал. Мартин утверждает,что у него с 2.4.3 полный ажур.

Re: Несколько вопросов по работе с формами

СообщениеДобавлено: 22.12.2010 18:37:57
amateur
debi12345 : могу порадовать у мну тоже с 2.4.3 ажур (токо фпс из свн)...