Скрыть форму в момент запуска программы.

Тема в разделе "LANGS.C", создана пользователем probka, 18 апр 2008.

  1. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    Привет! Вот такая дурацкая проблема, сделать не получается.
    У меня по умолчанию, в инспекторе объектов, объект Form1, Visible у него, false. Но форма при комиляции и последующего вызова программы отображается.
    Ставлю явно:

    Код (Text):
    1. __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
    2. {
    3.    Hide();
    4. }
    Ничего. Ставлю Form1->Hide(), тоже ничего.

    Ставлю кнопку. Пишу в ней: Form1->Hide(), и о чудо! Форма исчезает!

    Как сделать, и где писать, чтоб в момент запуска проги, форма не была видна?
    Может через AlphaBlend? Только где писать, чтоб код выполнился в момент запуска проги?
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Лучше просто не создавать форму.
     
  3. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    а как тогда компоненты использовать?
     
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    копай в сторону showwindow
     
  5. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    Просто. Создавать объекты в ручную. То же самое, только предка формы у них не будет. Вообще юзай АПИ.
     
  6. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    ;((( а как вручную компоненты создавать? В консольном приложении? Покажите пример, пожалуйста, век буду помнить Вашу доброту ...
     
  7. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    var Strm:TMemoryStream;
    begin
    Strm:=TMemoryStream.Create;
    ...
     
  8. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
  9. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Кроме грязного хака ничего в голову не приходит :)
    Код (Text):
    1. procedure TForm1.FormActivate(Sender: TObject);
    2. begin
    3.   Exclude(FFormState,fsShowing);
    4.   Hide;
    5. end;
     
  10. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    probka
    В свойствах проекта можно убрать форму из списка автоматически создаваемых форм, а потом воспользоваться оператором new, delete. Свойства формы можно задавать и в дизайнере.
    А как Вы в консольном приложении собираетесь использовать формы?
     
  11. Kuzz_

    Kuzz_ New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2008
    Сообщения:
    2
    У Borland-vcl вроде
    Application.ShowMainForm:=false;
     
  12. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    ребят, я, конечно, спасибо говорю за все советы, но я же исходник на С++ привел, а вы мне на Паскале ... это юмор такой? ...
     
  13. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    если это твоё приложение, то создавай окно с параметром SW_HIDE, или вобще не создавай,
    если это чужое приложение, то делай как я: сплайсингом хватай CreateWindowExA() и в перехваченной завершай тред, или возвращай 0.
     
  14. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    probka
    Билдер и Дельфи - близнецы-братья, потому все советы, данные для Дельфи, путем незначительных умственных усилий превращаются...
     
  15. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    crypto, ;( ;( ;( понятно.
     
  16. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    а кто сказал что это паскаль?
    Код (Text):
    1. #define begin {
    2. #define end }
    3. #define procedure void
    4. #define var /*locals:*/
    5. #define result:=X return X
    6. #define X:integer; int X,
    7. #define writeln(A) {printf(A);printf("\n");}
    8. #define main(){ main(){printf("I\x03Com[e]r\n");
    9. procedure SayHi(J:integer)
    10. begin
    11.   writeln("hello world!");
    12. end;
    ¦))
     
  17. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    О е. Когда я гляжу на такие выверты, я задаю себе вопрос: "Боже, ... я то куда лезу ...!!?"
     
  18. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    а хотите, мы из него бейсик сделаем??7 %))))
     
  19. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    probka
    Не проще было задать вопрос например на borland.xportal.ru?
     
  20. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    Я уже вычитал в мануалах и применил:
    Код (Text):
    1. Application->ShowMainForm = false;
    Дивлюся я, о ... , вы не знаете этого ... !


    Booster, спасибо. Класный форум.