Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Картинка на форме, фон не закрывал компоненты на ней 
:(
    Опции темы
Instal
Дата 4.6.2008, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.7.2005

Репутация: нет
Всего: нет



Подскажите плз, как сделать так, чтобы картинка на форме через Image была видна только на этой форме и не отображалась на других компонентах, расположенных на форме.
Уже все свойства Timage перебрал и Tpanel тоже - картинка как была на всех компонентах на форме так и остается.  smile 

Поиск по форуму дал такую тему http://forum.vingrad.ru/topic-69797.html, но там никто не ответил
Цитата

Еще не поздно. Кидай image на форму, устанавливай в нем Align:= alClient, потом жми по нему правой кнопкой, потом "Управление" - "Перенести Ниже". Все smile

И это не получается, при нажатии на image правой кнопкой мыши, потом" Control" - "Send to back" - ничего не меняется (интересно, там галочка должна отметится на этом пункте "Send to back" ?)

PM MAIL   Вверх
Frees
Дата 4.6.2008, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(Instal @  4.6.2008,  07:02 Найти цитируемый пост)
 (интересно, там галочка должна отметится на этом пункте "Send to back" ?)

нет не должна


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Instal
Дата 4.6.2008, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.7.2005

Репутация: нет
Всего: нет



Спасибо, что не должна, а всё же, как сделать фон для формы, но не для ее компонентов на ней?
PM MAIL   Вверх
Exai1e
Дата 4.6.2008, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 2
Всего: 30



user posted image
Так ? Если да, то я просто кинул на форму Image1 и по верх нее накидал компонентов...


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Instal
Дата 4.6.2008, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.7.2005

Репутация: нет
Всего: нет



Спасибо, попробовал также сначала сделать форму с фоном и поверх делать компоненты, тогда да, так получается.
Просто я делал уже на готовую прогу фон и он перекрывал их все. Перетаскивать что ли все заново или можно как-то это обойти? Просто уже интересно, переделать в принципе заново не оч трудно. Итак уже рад  smile )
PM MAIL   Вверх
THandle
Дата 4.6.2008, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Instal, щелкни правой кнопкой мыше на своем TImage.

Далее:

Control->Send to Back
PM   Вверх
ivan219
Дата 4.6.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Или так:
Код

var
  Form1: TForm1;
  BitMap: TBitMap;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 BitMap := TBitMap.Create;
 Bitmap.LoadFromFile('1.bmp');
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 BitMap.Free;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
 Form1.Canvas.Draw(0,0,Bitmap);
end;

PM MAIL ICQ   Вверх
mr.Anderson
Дата 4.6.2008, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



ivan219, незачем городить огород, когда все делается во время проектирования. Меньше кода - меньше размер проги, меньше ляпов и ошибок.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
THandle
Дата 4.6.2008, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Цитата(mr.Anderson @  4.6.2008,  14:48 Найти цитируемый пост)
Меньше кода - меньше размер проги


В данном случае наоборот. Картинка будет хранится в самом приложении.
PM   Вверх
mr.Anderson
Дата 4.6.2008, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



THandle, ага, но если так не надо, то точно уж кода вида
Код
Image1.LoadFromFile( 'mypicture.bmp' );

Будет более чем достаточно. Поскольку использовать TImage можно, проще будет именно с ним и работать, а не с канвой формы. Хотя кому как удобнее, конечно.

Это сообщение отредактировал(а) mr.Anderson - 4.6.2008, 13:54


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Rennigth
Дата 4.6.2008, 14:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



mr.Anderson, Image тажелый, если не нужны стречи автосайзы и тому подобное, то выгоднее на канве рисовать smile


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
SAVANE
Дата 4.6.2008, 14:10 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 20.7.2006
Где: Украина, Полтава

Репутация: нет
Всего: 1



Ну сделай ты Image Загрузи туда рисунгок с ходу чтоб как ты хочеш он висел в проге. Настрой все свойства как те нравится. Потом поставь ширину и высоту рисунка по  пикселу. А  в  коде програмы в событии OnShow пропиши 

Код

image1.Align:=alClient;
image1.SendToBack;


Проверил работает
--------------------
Be not afraid of growing slowly, be afraid only of standing still!
PM MAIL WWW ICQ   Вверх
THandle
Дата 4.6.2008, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Цитата(SAVANE @  4.6.2008,  15:10 Найти цитируемый пост)
А  в  коде програмы в событии OnShow пропиши 


А накой в таком случае писать код, если это можно на этапе проектирования сделать?


Цитата(Rennigth @  4.6.2008,  15:09 Найти цитируемый пост)
mr.Anderson, Image тажелый, если не нужны стречи автосайзы и тому подобное, то выгоднее на канве рисовать


+1
PM   Вверх
Rennigth
Дата 4.6.2008, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



Цитата(SAVANE @  4.6.2008,  14:10 Найти цитируемый пост)
Проверил работает

 smile  smile 



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Instal
Дата 4.6.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.7.2005

Репутация: нет
Всего: нет



Цитата(THandle @  4.6.2008,  09:32 Найти цитируемый пост)
Instal, щелкни правой кнопкой мыше на своем TImage.Далее:Control->Send to Back


Так ведь пробовал, не меняется (

Цитата(ivan219 @  4.6.2008,  13:43 Найти цитируемый пост)
Или так:код Pascal/Delphi1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:var  Form1: TForm1;  BitMap: TBitMap;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin BitMap := TBitMap.Create; Bitmap.LoadFromFile('1.bmp');end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);begin BitMap.Free;end;procedure TForm1.FormPaint(Sender: TObject);begin Form1.Canvas.Draw(0,0,Bitmap);end;


Спасибо за пример, че-то картинка все равно перекрывает все элементы на форме...

Цитата(mr.Anderson @  4.6.2008,  13:48 Найти цитируемый пост)
ivan219, незачем городить огород, когда все делается во время проектирования. Меньше кода - меньше размер проги, меньше ляпов и ошибок.


Зачем так категорично утверждать как господь бог? Человек привел мне пример, может его код очень даже пригодится, раз по-другому не получается. И насчет "все делается во время проектирования" - зачем же опять утверждать за всех? У меня например не все делается во время проектирования, я собираю свою прогу по частям. Сначала её доделаю, а потом уже хотел украсить фоновыми картинками, а никак не наоборот.

Цитата(mr.Anderson @  4.6.2008,  13:54 Найти цитируемый пост)
THandle, ага, но если так не надо, то точно уж кода видакод Pascal/Delphi1:Image1.LoadFromFile( 'mypicture.bmp' );highlightSyntax('delphi_ZGM0MD','delphi');highlightSyntax('delphi_ZGM0MD','delphi');Будет более чем достаточно. Поскольку использовать TImage можно, проще будет именно с ним и работать, а не с канвой формы. Хотя кому как удобнее, конечно.


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

Цитата(SAVANE @  4.6.2008,  14:10 Найти цитируемый пост)
Ну сделай ты Image Загрузи туда рисунгок с ходу чтоб как ты хочеш он висел в проге. Настрой все свойства как те нравится. Потом поставь ширину и высоту рисунка по  пикселу. А  в  коде програмы в событии OnShow пропиши код Pascal/Delphi1:2:image1.Align:=alClient;image1.SendToBack;highlightSyntax('delphi_VhMTJj','delphi');highlightSyntax('delphi_VhMTJj','delphi');Проверил работает


Спасибо, у меня опять появляется картинка, перекрывающая все элементы.

Ну да ладно, видать у меня что-то с дельфей не так, где-то глюк что ли.
Главное, есть выход - кинуть картинку сразу и на нее положить все остальное, раз image не хочет уходить в фон через  SendToBack. Всем спасибо.

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0935 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.