Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2010, 22:46   #1
NordNomad
Новичок
Джуниор
 
Регистрация: 22.01.2010
Сообщений: 2
Вопрос Почему не видно изображения?

Подскажите, пожалуйста, в чем дело: во время работы приложения создается форма, на которую посредством TImage выводится изображение. Изображения, однако, не видно... Кроме того, не срабатывает " ExitButton.OnClick:= ExitProgram; ". В чем ошибка не знаю, поэтому код привел целиком:


Program Rain;

Uses
ExtCtrls, Forms, Graphics, SysUtils;

Var
RainField: TForm;
ExitButton: TImage;

Const
ExitButtonHeight = 20;
ExitButtonWidth = 20;
ExitButtonHeightIndent = 10;
ExitButtonWidthIndent = 10;

Procedure ExitProgram;
Begin
RainField.Close;
End;

Procedure Initiation;
Begin
RainField.PixelsPerInch:= 96;
RainField.BorderStyle:= BsNone;

RainField.Top:= 0;
RainField.Left:= 0;
RainField.Height:= Screen.Height;
RainField.Width:= Screen.Width;

RainField.Color:= ClWhite;
RainField.TransparentColorValue:= ClWhite;
RainField.TransparentColor:= True;




ExitButton:= TImage.Create(RainField);

ExitButton.Top:= ExitButtonHeightIndent;
ExitButton.Left:= Screen.Width - ExitButtonWidth - ExitButtonWidthIndent;
ExitButton.Height:= ExitButtonHeight;
ExitButton.Width:= ExitButtonWidth;

ExitButton.Picture.LoadFromFile('Re sources\Images\ExitButton.bmp');
ExitButton.Transparent:= True;
ExitButton.BringToFront;
ExitButton.Enabled:= True;
ExitButton.Visible:= True;
{ExitButton.OnClick:= ExitProgram;}
End;

{$R *.res}

Begin
Application.Initialize;
Application.CreateForm(TForm, RainField);

Initiation;

Application.Run;
End.

Заранее благодарен )
NordNomad вне форума Ответить с цитированием
Старый 23.01.2010, 10:51   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

1. Для отображения визуального объекта его свойству Parent необходимо присвоить ссылку на компонент, который его показывает.
2. Чтобы процедура отрабатывала какое-либо событие она должна быть в составе методов класса и простой процедурой быть не может.
Код:
Uses
  ExtCtrls, Forms, Graphics, SysUtils, Classes;

type
  TMyImg = class(TImage)
    procedure ExitProgram(sender : TObject);
  end;

Var
  RainField: TForm;
  ExitButton: TMyImg; //TImage;

Const
  ExitButtonHeight = 30;
  ExitButtonWidth = 30;
  ExitButtonHeightIndent = 20;
  ExitButtonWidthIndent = 20;

Procedure TMyImg.ExitProgram(sender : TObject);
Begin
  RainField.Close;
End;

Procedure Initiation;
Begin
  RainField.PixelsPerInch:= 96;
  RainField.BorderStyle:= BsNone;

  RainField.Top:= 0;
  RainField.Left:= 0;
  RainField.Height:= Screen.Height;
  RainField.Width:= Screen.Width;

  RainField.Color:= ClWhite;
  RainField.TransparentColorValue:= ClWhite;
  RainField.TransparentColor:= True;

  ExitButton:= TMyImg.Create(RainField);
  ExitButton.Parent := RainField;

  ExitButton.Top:= ExitButtonHeightIndent;
  ExitButton.Left:= Screen.Width - ExitButtonWidth - ExitButtonWidthIndent;
  ExitButton.Height:= ExitButtonHeight;
  ExitButton.Width:= ExitButtonWidth;

  ExitButton.Picture.LoadFromFile('find.bmp');
  ExitButton.Transparent:= True;
  ExitButton.BringToFront;
  ExitButton.Enabled:= True;
  ExitButton.Visible:= True;

  ExitButton.OnClick := ExitButton.ExitProgram;
end;
...
Скандербег вне форума Ответить с цитированием
Старый 26.01.2010, 21:19   #3
NordNomad
Новичок
Джуниор
 
Регистрация: 22.01.2010
Сообщений: 2
По умолчанию

Скандербег, ОГРОМНОЕ СПАСИБО! Сам разобраться был не в состоянии... хотя все оказалось очень просто )
NordNomad вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не видно русский, а кракозябры. mambr Помощь студентам 3 20.09.2009 13:38
Не видно русские буквы. Go.away.noir SQL, базы данных 2 08.09.2009 12:16
Turbo C:не видно результат. Trewert Помощь студентам 5 07.09.2007 00:10
почему-то в подключаемом модуле не видно глобальную переменную bat Общие вопросы C/C++ 4 23.08.2007 14:25