Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 055

/ вопрос решён /

Здравствуйте, уважаемые эксперты! Мне нужно фоном главной формы сделать графическое изображение... Помогите, пожалуйста!

Random Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Random (статус: Посетитель)
Вопрос отправлен: 31 июля 2009, 15:26
Состояние вопроса: решён, ответов: 3.

Ответ #1. Отвечает эксперт: min@y™

Вот две статьи на эту тему:


  1. Заполнение фона формы рисунком
  2. Заполнение фона формы рисунком - 2

Если форма MDI, тогда вот статья.

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 31 июля 2009, 15:38
Оценка за ответ: 5

Ответ #2. Отвечает эксперт: Dron

Здравствуйте, Random!
Помимо способа "в лоб" (размещения на форме TImage с нужной картинкой и Align=alClient) есть и другие. Для отрисовки фона у формы есть специальное свойство Brush - можно воспользоваться им. А можно и вручную рисовать на канве (Canvas) всё, что угодно - делать это разумно в Form.OnPaint(). Также есть и специальные компоненты - например JvFormWallpaper из JediVCL, но они работают практически так же, как Image на всю форму.

Ответ отправил: Dron (статус: Студент)
Время отправки: 31 июля 2009, 15:43
Оценка за ответ: 5

Ответ #3. Отвечает эксперт: Anderson N.N

Здравствуйте, Random!
Вот рабочий код

var
Form1: TForm1;
b:TBitmap; // обьявили глобальну переменную для дальнейшего пользования

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
b :=Tbitmap.Create; // выделяем память
b.LoadFromFile('c:\1.bmp'); // грузим картинку
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Draw(0,0,b); // выводим
end;

Ответ отправил: Anderson N.N (статус: 2-ой класс)
Время отправки: 31 июля 2009, 16:17
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 31 июля 2009, 16:28; участников в обсуждении: 4.
Anderson N.N

Anderson N.N (статус: 2-ой класс), 31 июля 2009, 15:32 [#1]:

кинь на форму компонент
TImage растяни на всю форму и
и загрузи изображение
Вадим К

Вадим К (статус: Академик), 31 июля 2009, 15:32 [#2]:

м, поставить TImage, отправить его на самый низ и загрузить туда картинку?
Галочка "подтверждения прочтения" - вселенское зло.
Random

Random (статус: Посетитель), 31 июля 2009, 15:35 [#3]:

Я слышал, что есть еще способ: с помощью свойства Canvas формы... Но можна компонентом Image?
Вадим К

Вадим К (статус: Академик), 31 июля 2009, 15:49 [#4]:

"Я слышал, что есть еще способ" супер фраза. в ответе выше прочитали и выдали... да...

Конечно можно.
Галочка "подтверждения прочтения" - вселенское зло.
Dron

Dron (статус: Студент), 31 июля 2009, 15:52 [#5]:

Вадим, я дал ответ на 10 минут позже, чем автор вопроса написал это сообщение.
С уважением.
Dron

Dron (статус: Студент), 31 июля 2009, 16:24 [#6]:

Anderson N.N: и ещё в OnClose - b.Free, а то нечестно как-то получается.
С уважением.
Вадим К

Вадим К (статус: Академик), 31 июля 2009, 16:28 [#7]:

глобальная переменная в данном случае - плохо.
Галочка "подтверждения прочтения" - вселенское зло.

31 января 2011, 19:23: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.03 сек.