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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2009, 09:44   #11
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Может тогда как s.Creator сказал через контекстное меню:
Код:
Panel[i,j].OnContextPopup := PanelContextPopup;
И сама процедура:
Код:
procedure TForm1.PanelContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
  (Sender as TPanel).Caption := 'X';
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 22.02.2009, 09:47   #12
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Цитата:
научиться запускать именно с другого места
Здесь два вопроса.
Определить с какой панелью работать
посмотри
Код:
PopupMenu1.PopupComponent
а при щелчке на кнопке с какой панелью будешь работать?

а потом уже работать с панелью

Код:
if PopupMenu1.PopupComponent is Tpanel then
   (PopupMenu1.PopupComponent as Tpanel).Caption := ....
s.Creator вне форума Ответить с цитированием
Старый 22.02.2009, 10:03   #13
dardreams
Пользователь
 
Регистрация: 19.02.2009
Сообщений: 20
По умолчанию

Цитата:
if PopupMenu1.PopupComponent is Tpanel then
(PopupMenu1.PopupComponent as Tpanel).Caption := ....
Вот оно !!! то что я искал!!
Спасибо вы очередной раз меня спасли
dardreams вне форума Ответить с цитированием
Старый 04.03.2009, 09:19   #14
dardreams
Пользователь
 
Регистрация: 19.02.2009
Сообщений: 20
Печаль

Добрый день!
Код:
Procedure Ping; 
var i,j,x:byte; 
begin 
 lbName.Items.LoadFromFile('C:\Users\DAR\AppData\Local\Temp\ping.txt'); 
//j:=0; 
 for i:=0 to lbName.Count-1 do 
 begin 
  Labels[i]:=TLabel.Create(self); 
  Labels[i].Parent:=Self; 
  Labels[i].Transparent:=true; 
  Labels[i].Tag:=1; 
  Labels[i].Top:=j; 
  if Copy(lbName.Items[i],pos('=',lbName.Items[i])+1,length(lbName.Items[i]))<>'-1' then Labels[i].Font.Color:=$0000F0F0 else Labels[i].Font.Color:=clGray; 
  Labels[i].Caption:=Copy(lbName.Items[i],1,pos('=',lbName.Items[i])-1); 
  j:=Labels[i].Height+J-5; 
 end; 
 end;
как сделать так чтобы все эти лэйблы уничтожались каждый раз в начале кода ?
Тоесть уничтожились и заново создались, потом снова уничтожились и так по циклу.
dardreams вне форума Ответить с цитированием
Старый 04.03.2009, 09:48   #15
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Зачем для таких задач использовать массивы когда есть списки и коллекции ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 04.03.2009, 09:53   #16
dardreams
Пользователь
 
Регистрация: 19.02.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Зачем для таких задач использовать массивы когда есть списки и коллекции ?
А можно пример ?
dardreams вне форума Ответить с цитированием
Старый 04.03.2009, 09:56   #17
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Пример чего ? использование Tlist или Tcollection ?
тогда о каким массивах компонентов мы гвоорим ?
самым лучшим примером будет внимательное прочтение этих классов и производных от них в модуле classes
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 04.03.2009, 10:05   #18
dardreams
Пользователь
 
Регистрация: 19.02.2009
Сообщений: 20
По умолчанию

Квэнди
Что то вы не в ту сторону пошли, я задал вопрос:"как сделать так чтобы все эти лэйблы уничтожались в начале кода ?"
P.S.
Если я использую именно массив значит именно так мне и нужно.
dardreams вне форума Ответить с цитированием
Старый 04.03.2009, 10:09   #19
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от dardreams Посмотреть сообщение
Я хочу понять как правильно работать с Sender.
Но как сделать чтобы работал именно мой код ?
Именно в этой процедуре:
procedure TfmMain.PopupMenu1Popup(Sender: TObject);
begin
(Sender As Tpanel).Caption:='x'
end;
end.
Если я вас правильно понял, то вам нужно:
Код:
((Sender as TPopupMenu).PopupComponent as TPanel).Caption:='x';
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работать с изображениями eliyas Помощь студентам 4 10.03.2011 22:27
Как работать с массивом Edit-ов subsonic Общие вопросы Delphi 3 02.03.2009 07:36
Как работать с XML? Никки Общие вопросы Delphi 7 18.01.2008 00:56
как правильно работать с массивом TStrings Air Общие вопросы Delphi 6 19.12.2007 17:55