Текущий архив: 2004.04.04;
Скачать: CL | DM;
Вниз
Компонент на компоненте Найти похожие ветки
← →
Karlson © (2004-03-11 12:11) [0]Добрый день. Такая ситуация. На форме размещено несколько панелей, некоторые одна над другой размещены. Необходимо при клике на любой из них выполнять одно действие. На каждую панель навешивать действие не хочется, как их объединить или вообще как решить данную проблему? Спасибо
← →
TUser © (2004-03-11 12:18) [1]Назначить всем событиям один и тот же обработчик. В Object inspector"е нажать стрелку вниз и выбрать нужную процедуру.
← →
TransparentGhost (2004-03-11 12:19) [2]Nu tak kazhdoj naznach odnu i tu zhe proceduru...
Nu i Sender ispol"zuj pri neobhodimosti
← →
Serge © (2004-03-11 12:21) [3]Ну типа
procedure TForm1.ClickOnPanel(Sender : TObject)
begin
if Sender = Panel1 then ...
if Sender = Panel2 then ...
либо
Case TPanel(Sender).Tag of
1: ...;
2: ...;
3: ...;
end;
end;
And for each TPanel You must write
TPanel.OnClick:=ClickOnPanel;
where each TPanel comp. have assigned a Tag, Caption or something else.
← →
KSergey © (2004-03-11 12:55) [4]> [3] Serge © (11.03.04 12:21)
Зачем проверять какая понель, если действие одинаковое? (если одинаковое, конечно)procedure TForm1.ClickOnPanel(Sender : TObject)
begin
with Sender as TPanel do
begin
Caption := "Panel name=" + Name;
.....
end;
end;
← →
Serge © (2004-03-11 13:11) [5]> KSergey © (11.03.04 12:55) [4]
Ну-у-у дык, автору видней, сам уже пусть выбирает, благо есть из чего :)
← →
Я © (2004-03-11 13:31) [6]
if (Sender is TPanel) then
with Sender as TPanel do
Мало ли...
← →
Karlson © (2004-03-11 13:48) [7]Всем спасибо за советы - очень пригодились. Теперь есть еще одна проблема. Кроме панелей на форме есть Bevelы, а у них нет свойства Clik...
← →
KSergey © (2004-03-12 14:58) [8]> Я © (11.03.04 13:31) [6]
> if (Sender is TPanel) then
> with Sender as TPanel do
> Мало ли...
Мало ли что?? Вы описание as читали?? Похоже - нет.
← →
TransparentGhost (2004-03-12 16:05) [9]KSergey © (12.03.04 14:58) [8]
a poprobuj poves" etu proceduru na edit ili kakoj drugoj komponent i posmotrim kak tebja AS spasjot.
Tak chto "Мало ли..." vsjo zhe bivajet.
← →
KSergey © (2004-03-12 16:12) [10]> [9] TransparentGhost (12.03.04 16:05)
Так, я не понял, вы as применяли в таких случаях? Честно? При несовпадении классов что происходит в run-time знаете?
← →
TransparentGhost (2004-03-12 16:19) [11]Proboval...primenjal...ne pomnju tochno, no viletala oshibka tipa ne vernij klass ili tipa togo.
← →
TransparentGhost (2004-03-12 16:25) [12]Vo ... "Invalid class typecast" poluchajeca.
← →
serge © (2004-03-12 16:45) [13]> TransparentGhost
Так эта пр...ра была написана для TPanel жестко, зачем же ее пробовать вешать на TEdit ? ИМХО KSergey © прав - в данном случае можно и не проверять принадлежность сендера к TPanel
← →
TransparentGhost (2004-03-12 16:57) [14]Jesli dlja zhostko - ne nado proverjat", a jesli net - tadi zhelatel"no.
← →
serge © (2004-03-12 17:01) [15]> TransparentGhost (12.03.04 16:57) [14]
Не-е-е-е, не "желательно" а "обязательно" (не мона а нуно) :)
← →
TransparentGhost (2004-03-12 17:04) [16]a luchshe prosto smotret" jest" li u komponenta svojstvo i izmenjat" jego ... togda pofig kakogo on tipa :o)
← →
Rem © (2004-03-12 17:12) [17]2 KSergey
> Я © (11.03.04 13:31) [6]
> if (Sender is TPanel) then
> with Sender as TPanel do
> Мало ли...
> Мало ли что?? Вы описание as читали?? Похоже - нет.
Ваши аргументы?
← →
serge © (2004-03-12 17:13) [18]Это когда уж очень сильно надо :)
Все а то господа модераторы отошлют в трепалку.
← →
KSergey © (2004-03-17 06:17) [19]> Rem © (12.03.04 17:12) [17]
> > Я © (11.03.04 13:31) [6]
> > if (Sender is TPanel) then
> > with Sender as TPanel do
> > Мало ли...
>
> > Мало ли что?? Вы описание as читали?? Похоже - нет.
>
> Ваши аргументы?
Какие аргументы нужны, я не понимаю??
Либоwith Sender as TPanel do
либоif Sender is TPanel then
with TPanel(Sender) do
А иначе проверка на принадлежность к TPanel 2 раза!! (вis
иas
, если кто еще не понял) Зачем?? Какие еще аргументы вам надо?
Страницы: 1 вся ветка
Текущий архив: 2004.04.04;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.044 c