Форум: "Начинающим";
Текущий архив: 2008.02.03;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.076 c