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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 23:16   #1
Максим139
Пользователь
 
Регистрация: 20.02.2011
Сообщений: 80
По умолчанию Создание компонента в месте клика

Подскажите пожалуйста, а как создать компонент TImage в месте, куда кликнул на Tpanel?
Заранее благодарен!
Максим139 вне форума Ответить с цитированием
Старый 31.03.2011, 23:59   #2
Sinapsik
Пользователь
 
Аватар для Sinapsik
 
Регистрация: 29.03.2011
Сообщений: 28
По умолчанию

что-то типо такого
Код:
var
  Form1: TForm1;
  posX,posY:integer;
........................................................................................
procedure TForm1.Panel1Click(Sender: TObject);
var
Image:TImage;
begin
Image:=TImage.Create(self);
Image.Parent:=Form1;
Image.Top:=posY;
Image.Left:=posX;
Image.AutoSize:=true;
Image.Picture.LoadFromFile('F:\BV0270.jpg');
end;

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
posX:=X;
posY:=Y;
end;
Sinapsik вне форума Ответить с цитированием
Старый 01.04.2011, 00:00   #3
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Sinapsik, почему объект создаете локальный? Удалять-то из памяти как будете?
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 01.04.2011, 00:02   #4
Sinapsik
Пользователь
 
Аватар для Sinapsik
 
Регистрация: 29.03.2011
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Сtrl Посмотреть сообщение
Sinapsik, почему объект создаете локальный? Удалять-то из памяти как будете?
извиняйте,как умею :D
подправьте меня,будет только лучше
Sinapsik вне форума Ответить с цитированием
Старый 01.04.2011, 00:18   #5
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Код:
var
  Form1: TForm1;
  Image1: TImage;

...

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1 := nil;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FreeAndNil(Image1);
end;

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if (Image1 = nil) then
  begin
    Image1 := TImage.Create(Self);
    Image1.Parent := Self;
    Image1.AutoSize := True;
    Image1.Picture.LoadFromFile('FILENAME.BMP');
    Image1.Visible := True;
  end;
  Image1.Left := Panel1.Left + X;
  Image1.Top := Panel1.Top + Y;
end;
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 01.04.2011, 00:22   #6
Sinapsik
Пользователь
 
Аватар для Sinapsik
 
Регистрация: 29.03.2011
Сообщений: 28
По умолчанию

Век живи...
Признаю,никогда не забочусь о памяти,считаю что прошли те времена )

Последний раз редактировалось Sinapsik; 01.04.2011 в 00:26.
Sinapsik вне форума Ответить с цитированием
Старый 01.04.2011, 00:23   #7
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Sinapsik Посмотреть сообщение
Век живи...
Признаю,никогда не забочусь о памяти,считаю что прошли те времена )
Времена, когда о ней заботились - прошли, но когда на нее наплевали - еще не настали.

Цитата:
UPD а если в моем варианте по закрытию темы destroy'ить Image?
Интересно, как у вас это получится, если вы после завершения функции Panel1Click безвозвратно теряете ссылку на этот объект...
Ищете информацию по C++?
cplusplus.com

Последний раз редактировалось Сtrl; 01.04.2011 в 00:28.
Сtrl вне форума Ответить с цитированием
Старый 01.04.2011, 00:35   #8
Sinapsik
Пользователь
 
Аватар для Sinapsik
 
Регистрация: 29.03.2011
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Сtrl Посмотреть сообщение
Времена, когда о ней заботились - прошли, но когда на нее наплевали - еще не настали.


Интересно, как у вас это получится, если вы после завершения функции Panel1Click безвозвратно теряете ссылку на этот объект...
1) не будем оффтопить )
2) уже понял свою ошибку,потому и отредактировал )
3) спасибо за небольшой урок )
Sinapsik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание компонента ... prostac Помощь студентам 3 20.01.2010 19:31
Динамическое создание компонента из компонента)) Impuls1989 Компоненты Delphi 8 22.10.2009 00:08
Определение длины пути от клика до клика - как??? Enya Помощь студентам 0 11.05.2009 12:54
создание компонента Bayazet Общие вопросы Delphi 4 17.12.2008 16:48
Создание компонента russianstrike Компоненты Delphi 15 01.10.2008 19:22