Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Пачиму Label не виден?


Автор: Volkogriz 12.12.2008, 00:46
 Доброе время суток!!!
Подскажите как вывести Label на экран?  smile 
Что не делаю безполезно! smile  smile 

Код

var
  SplashForm: TForm;
  SplashImage: TImage;
  SplashSite:TLabel;
  SplashInfo:TLabel;
begin
  SplashForm := TForm.create(nil);
  with SplashForm do
  begin
    BorderStyle := bsNone;
    Position := poScreenCenter;
    // Óêàçûâàåì ðàçìåðû ïîêàçûâàåìîãî èçîáðàæåíèÿ
    ClientWidth := 700;
    ClientHeight :=450 ;
   end;
    SplashImage := TImage.Create(SplashForm);
  with SplashImage do
    begin
SplashImage.Picture.LoadFromFile(extractfilepath(Application.ExeName)+'Boot\Boot.JPG');
    Stretch := true;
    Align := alClient;
    Parent := SplashForm;
    end;
  SplashSite:= TLabel.Create(SplashImage);
  with SplashSite do
    begin
SplashSite.Caption:= 'Ïðèâåòèê ìóäàêè';
SplashSite.Font.Charset:= ANSI_CHARSET;
SplashSite.Font.Color:= clBlue;
SplashSite.Font.Size:= 18;
SplashSite.Font.Height:=  -19;
SplashSite.Font.Name:= 'Markiz de Sad script';
SplashSite.Font.Pitch :=  fpDefault;
SplashSite.Top:=408;
SplashSite.Left:=272;
SplashSite.ParentFont:=false;
SplashSite.Visible:=true;
 end;
  with SplashForm do
   begin
     Show;

      begin
       Repaint;
        // ïàêàç èçîáðîæåíèÿ â ñåêóíäàõ (1000 – îäíà ñåêóíäà, 2000 – äâå ñåêóíäû è ò.ä.)
       Sleep(5000);
      end;
     Close;
     Free;
   end;


Автор: AntonN 12.12.2008, 00:52
потому что у него не указан Parent

Автор: Volkogriz 12.12.2008, 00:56
Ну а в коде магёте а пожалуйсто!!!???

Автор: kemiisto 12.12.2008, 01:07
тут была написана глупость...

Автор: Akella 12.12.2008, 01:07
Код

SplashInfo.parent := SplashForm

Автор: Данкинг 12.12.2008, 01:10
Цитата(kemiisto @  12.12.2008,  01:07 Найти цитируемый пост)
тут была написана глупость...

Млин, а я-то над ней думаю сижу...  smile  smile 

Автор: kemiisto 12.12.2008, 01:12
Цитата(Данкинг @  11.12.2008,  23:10 Найти цитируемый пост)
Млин, а я-то над ней думаю сижу...

Данкинг,  smile Я там жуть написал, потёр... После чтения Java-тьюториала совсем плохо думалось. smile 
 
Volkogriz, прости, а на кой ты динамически VCL-компоненты создаёшь? smile 

Автор: Akella 12.12.2008, 01:21
kemiisto, откуда он знает?  smile Ему дали пример... а дальше делай что хошь

Автор: Volkogriz 12.12.2008, 01:25
Я это как заставку использую!
А вот итекетку туды впервые засунуть захател! smile  smile 

Автор: Akella 12.12.2008, 01:26
Volkogriz, где-то на форуме у Модератора Snowy была статейка о Parent и Owner, поищи, если найдёшь - полезно будет почитать

Автор: Volkogriz 12.12.2008, 01:29
И это я сам личьно нагадил'накодил' и мне не кто не давал!!! smile  smile

Добавлено через 1 минуту и 32 секунды
Спасибо большое!!! smile 

Автор: Данкинг 12.12.2008, 01:31
Цитата(kemiisto @  12.12.2008,  01:12 Найти цитируемый пост)
а на кой ты динамически VCL-компоненты создаёшь?

Видимо, чтобы размер EXE-файла уменьшился донельзя. smile 


Автор: Akella 12.12.2008, 01:36
Цитата(Volkogriz @  12.12.2008,  00:46 Найти цитируемый пост)
begin
       Repaint;
        // ïàêàç èçîáðîæåíèÿ â ñåêóíäàõ (1000 – îäíà ñåêóíäà, 2000 – äâå ñåêóíäû è ò.ä.)
       Sleep(5000);

может application.processmessages добавить?

Автор: Volkogriz 12.12.2008, 01:36
   smile 

Автор: Akella 12.12.2008, 01:43
Volkogriz, не забывай, что ты в тематическом разделе  smile  smile 

Автор: Volkogriz 12.12.2008, 01:45
Типо этого да:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  for i:=1 to 5000 do
    Application.ProcessMessages();
end;


Так я там спициально  Sleep(); задаю у мя форма моментально открываеться!
И чтобы она сразу не открывалась я задержку на 5 секунд ставлю!
А как Application.ProcessMessages(); я незнаюююю!!  smile 

Автор: Akella 12.12.2008, 01:55
Application.ProcessMessages() - для того, чтобы форма в случае чего нормально перерисовалась, это так поверхностно поясню, погугли или вот
http://www.delphihelp.org/processmessages.html

Автор: Данкинг 12.12.2008, 01:59
Цитата(Volkogriz @ 12.12.2008,  01:45)
Типо этого да:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  for i:=1 to 5000 do
    Application.ProcessMessages();
end;



Какой интересный код. smile Скопирую его в свой FAQ. smile 

Автор: Volkogriz 12.12.2008, 02:08
Всё вёхал!!!
Всем спасибо!
А мне пить меньше надо!!! smile 

С уважением волкогрыз!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)