Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: CL | DM;

Вниз

Application.ShowMainForm := False; и TFrame   Найти похожие ветки 

 
Nil   (2008-01-10 18:00) [0]

На главной форме есть 3 фрейма. Переключаются в зависимости от действий юзера следующим образом (при запсуке программы активируется первый фрейм):
procedure TMainForm.SetVisibleFrame(FInd: integer; InitFlag: boolean);
begin
 case FInd of
   1: begin
        ResToBitMap("STEP1HEADICO", ImSteps.Picture.Bitmap);
        Frame11.Width:=723;
        Frame11.Height:=371;
        Frame11.Left:=13;
        Frame11.Top:=145;
        if InitFlag then Frame11.InitContent;

        Frame11.Visible:=True;
        Frame21.Visible:=False;
        Frame31.Visible:=False;
      end;
   2: begin
        ResToBitMap("STEP2HEADICO", ImSteps.Picture.Bitmap);
        Frame21.Width:=723;
        Frame21.Height:=371;
        Frame21.Left:=13;
        Frame21.Top:=145;
        if InitFlag then Frame21.InitContent;

        Frame11.Visible:=False;
        Frame21.Visible:=True;
        Frame31.Visible:=False;
      end;

   3: begin
        ResToBitMap("STEP3HEADICO", ImSteps.Picture.Bitmap);
        Frame31.Width:=723;
        Frame31.Height:=371;
        Frame31.Left:=13;
        Frame31.Top:=145;
        if InitFlag then Frame31.InitContent;

        Frame11.Visible:=False;
        Frame21.Visible:=False;
        Frame31.Visible:=True;
      end;
 end;
end;


Когда ставлю ShowMainForm := False чтобы при запуске, кроме значка в трее, ничего не появлялось фрейм пе показывается. SetVisibleFrame стоит в oncreate главной формы. Подскажите пож в чём проблема. Там никаких подводных камней с созданием этих фреймов нет? Я имею ввиду случай когда ShowMainForm := False

Заранее благодарен!


 
Palladin ©   (2008-01-10 18:02) [1]

ты интересный такой, а где он должен показываться? ты же скрыл главную форму


 
Palladin ©   (2008-01-10 18:03) [2]

упс... прошу прощения... инверт в голове сработал...


 
Юрий Зотов ©   (2008-01-10 18:03) [3]

Если не виден родительский контрол, то не видны и его дочерние контролы.


 
Palladin ©   (2008-01-10 18:03) [4]

а... нет, не сработал :) все правильно я сказал :)


 
Nil   (2008-01-10 18:24) [5]

Недорассказал :)

Потом юзер тыкает по значку в трее, я делаю MainForm.Show чтобы показать окошко, но появляется пустое окошко без ожидаемого видимого фрейма, который должен был активироваться в OnCreate формы при её создании.

Пробовал всё то что делается в OnCreate формы при её создании засунуть в OnActivate, не результата нет.. SetVisibleFrame вызывается, удачно выставляются все парметры фрейма, но он так и не показывается

Вот, теперь вроде более точно описал


 
Юрий Зотов ©   (2008-01-10 18:40) [6]

Чему при вызове SetVisibleFrame равен InitFlag и что делает InitContent?


 
Nil   (2008-01-10 18:49) [7]


> что делает InitContent


InitContent заполняет содержимое фрейма, на его отображение влиять не должно. Грубо говоря в InitContent заполняются Label.Caption фрейма и больше ничего.


> Чему при вызове SetVisibleFrame равен InitFlag


InitFlag=True


 
Юрий Зотов ©   (2008-01-10 18:56) [8]

Попробуйте просто MainForm.Update после MainForm.Show


 
Nil   (2008-01-10 19:50) [9]

И снова великий Borland или кто он щас там, показывает свою криворукость... Причина оказалась  насколько я понял в компиляторе. Закрыл/открыл делфю, пошёл попил кофе и всё заработало. Обидно, пару тройку часов времени на эту глупость убил. Это из области монитор протёр, мышку почистил, сделал музыку потише и заработало :) Уже кста в D2007 не первый раз с такими граблями сталкиваюсь

Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2008.02.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
15-1198493736
FreeBSD
2007-12-24 13:55
2008.02.03
Gambas


1-1193417311
terc
2007-10-26 20:48
2008.02.03
получения род окна зная hwnd дочернего ??


15-1198411965
Александр Ильин
2007-12-23 15:12
2008.02.03
Здравствуйте мастера.


8-1173067347
musulman
2007-03-05 07:02
2008.02.03
Верстка.


15-1198751535
DmitrichJ
2007-12-27 13:32
2008.02.03
Как сделать стартовую страничку в IE